Description
Hi, I use your work in a learning goal. When I create small network with few layers everything works perfectly. But when i try this kind of network :
`reseau = Network()
reseau.add(FCLayer(8*8,100))
reseau.add(ActivationLayer(tanh, tanh_prime))
reseau.add(FCLayer(100,80))
reseau.add(ActivationLayer(tanh, tanh_prime))
reseau.add(FCLayer(80,60))
reseau.add(ActivationLayer(tanh, tanh_prime))
reseau.add(FCLayer(60,10))
reseau.add(ActivationLayer(tanh, tanh_prime))`
I have this issue when i use fit method :
`---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/tmp/ipykernel_367850/57939880.py in
1 reseau.use(mse, mse_prime)
----> 2 reseau.fit(learning_rate=0.0001, epochs=300, data_train=x_train, data_val=y_train)
3 reseau.show_fit()
~/Bureau/maths_python/14 avril/network.py in fit(self, learning_rate, epochs, data_train, data_val)
44
45 for layer in reversed(self.layers):
---> 46 error = layer.backward_propagation(error, learning_rate)
47
48 err /= iterations
~/Bureau/maths_python/14 avril/layer.py in backward_propagation(self, output_error, learning_rate)
49 def backward_propagation(self, output_error, learning_rate):
50 input_error = np.dot(output_error, self.weights.T)
---> 51 weights_error = np.dot(self.input.T, output_error)
52 # dBias = output_error
53
<array_function internals> in dot(*args, **kwargs)
ValueError: shapes (64,) and (1,100) not aligned: 64 (dim 0) != 1 (dim 0)`
When trying to debug it, I saw output_error changing type from ndarray to float64 but i really don't understand why.
Could you help me ? Thank in advance