如何求解numpy矩阵乘法

2024-04-26 20:43:10 发布

您现在位置:Python中文网/ 问答频道 /正文

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) 

我该怎么解决?你知道吗


Tags: 代码错误withnpnotbearrayw1
1条回答
网友
1楼 · 发布于 2024-04-26 20:43:10

矩阵乘法不是你的问题。这就是你要做的乘法:X*w1。这是不可能的。如果要将两个数组相乘,它们必须具有相同的形状,或者可以使用广播。但是为了使广播工作,所有的轴,除了一个,必须有相同的长度。所以在这种情况下这是不可能的。你知道吗

看起来你实际上想做的是矩阵乘法。这需要两个矩阵,所以不能先将它们相乘。另外,两个矩阵要以这种方式相乘,第一个矩阵的列数需要等于第二个矩阵的行数。所以,下面的方法会起作用,而且可能是您正在尝试的:

np.matmul(w1, X)

相关问题 更多 >