2024-04-26 20:43:10 发布
网友
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。这是不可能的。如果要将两个数组相乘,它们必须具有相同的形状,或者可以使用广播。但是为了使广播工作,所有的轴,除了一个,必须有相同的长度。所以在这种情况下这是不可能的。你知道吗
X*w1
看起来你实际上想做的是矩阵乘法。这需要两个矩阵,所以不能先将它们相乘。另外,两个矩阵要以这种方式相乘,第一个矩阵的列数需要等于第二个矩阵的行数。所以,下面的方法会起作用,而且可能是您正在尝试的:
np.matmul(w1, X)
矩阵乘法不是你的问题。这就是你要做的乘法:
X*w1
。这是不可能的。如果要将两个数组相乘,它们必须具有相同的形状,或者可以使用广播。但是为了使广播工作,所有的轴,除了一个,必须有相同的长度。所以在这种情况下这是不可能的。你知道吗看起来你实际上想做的是矩阵乘法。这需要两个矩阵,所以不能先将它们相乘。另外,两个矩阵要以这种方式相乘,第一个矩阵的列数需要等于第二个矩阵的行数。所以,下面的方法会起作用,而且可能是您正在尝试的:
相关问题 更多 >
编程相关推荐