我正在做一个简单的网络来解决异或问题,我得到了一个错误。这是我的代码
def back_prop(a2,z0,z1,z2,y):
delta2=z2-y
Delta2=np.matmul(z1.T,delta2)
delta1=(delta2.dot(W2[1:,:]).T)*sigmoid_derivative(a1)
Delta1=np.matmul(z0.T,delta1)
delta=np.matmul(Delta1,W1[1:,:])
return delta2,Delta2, Delta1
它给我的错误是ValueError形状(4,1)和(5,1)未对齐:1(尺寸1)!= 5(尺寸0)
我试着查找这个问题,但是我找不到任何有效的解决方法。你能帮忙吗?谢谢!
1条答案
按热度按时间mrfwxfqh1#
如果不提供输入参数,则无法重现错误。
也就是说,您的错误消息会告诉您问题所在:
matmul
是标准的矩阵乘法,不能在4x1和5x1矩阵之间执行。转置delta*
矩阵而不是z*
矩阵可以修复错误,但要由您来检查这是否确实是您想要的数值结果。