我正在尝试训练神经网络,但是我被困在应该获取和(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]]
答案 0 :(得分:0)
使用
b=f[0]*d.T
相反,否则,您将广播(2,2)数组与(2,)数组的相加