numpy的矩阵乘法给出错误

时间:2019-06-12 21:52:21

标签: python numpy machine-learning

w, b, X, Y = np.array([[1.],[2.]]), 2., np.array([[1.,2.,-1.],[3.,4.,-3.2]]), np.array([[1,0,1]])
w1 = w.T
print(np.matmul(X*w1))

此代码给出以下错误: ValueError:操作数不能与形状(2,3)(1,2)一起广播 我该怎么解决?

1 个答案:

答案 0 :(得分:0)

矩阵乘法不是您的问题。这是您要执行的乘法:X*w1。这是不可能的。如果要乘两个数组,它们必须具有相同的形状,或者可以使用广播。但是,要使广播正常工作,除一个轴外,所有轴都必须具有相同的长度。因此在这种情况下是不可能的。

看来您实际上想做的是矩阵乘法。这需要两个矩阵,因此您不能先将它们相乘。同样,对于以这种方式相乘的两个矩阵,第一个矩阵的列数需要等于第二个矩阵的行数。因此,以下方法将起作用,并且可能是您要尝试执行的操作:

np.matmul(w1, X)