繁体   English   中英

如何解决numpy矩阵乘法误差

[英]How to solve numpy matrix multiplication error

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: operands could not be broadcast together with shapes (2,3) (1,2) 

我该如何解决?

矩阵乘法不是你的问题。 这是你想要做的乘法: X*w1 这是不可能的。 如果要将两个阵列相乘,则它们必须具有相同的形状,或者您可以使用广播。 但是对于广播工作,除了一个轴之外的所有轴必须具有相同的长度。 所以在这种情况下这是不可能的。

看起来你实际上要做的是矩阵乘法。 这需要两个矩阵,所以你不能先将它们相乘。 此外,对于要以这种方式相乘的两个矩阵,第一矩阵的列数需要等于第二矩阵的行数。 所以,以下内容可行,可能就是您要做的事情:

np.matmul(w1, X)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM