簡體   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