如何修复ValueError:形状(2,1)不可广播的输出操作数与广播形状(2,2)错误不匹配?

时间:2019-07-06 00:36:50

标签: numpy

我正在尝试训练神经网络,但是我被困在应该获取和(2,1)数组的位置,但是代码不断带给我(2,2)数组。

尝试转置矩阵或将(1,)数组设置为标量(v [0])无效。

这是我遇到问题的代码示例:

import numpy as np

a = np.array([[0.3],[-0.1]])
b = np.zeros(a.shape)
c=np.array([ 0.5249765])
d=np.array([ 0.4850045,   0.45512111])
y = np.array([ 0.4])
error = y - c 
f= error * c * (1 - c)

b+=f[0]*d.T

我期望的结果是

b = [-0.0151157 -0.0141844] 

但我不断得到

b = [[-0.0151157    -0.0141844]
[-0.0151157 -0.0141844]]

1 个答案:

答案 0 :(得分:0)

使用

b=f[0]*d.T

相反,否则,您将广播(2,2)数组与(2,)数组的相加