我在python中實現了一個神經網絡,作爲反向傳播的一部分,我需要乘以一個3D矩陣,稱爲A,維度爲(200, 100, 1)
,由2D矩陣表示,稱之爲W,維度爲(100, 200)
結果應該有尺寸(200, 200, 1)
。numpy數組上的多維矩陣乘法
A是誤差矢量,W是權重矩陣,該產品將被用於計算先前層的更新。
我嘗試使用matrix_multiply
(from numpy.core.umath_tests
),我試圖重塑W至(100,200,1),然後乘以解決它,而是拋出
ValueError: matrix_multiply: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (m,n),(n,p)->(m,p) (size 100 is different from 1)
。
我該如何解決這個問題?
你有保持'A'的形狀(200,100,1),而不是丟棄瑣碎的尺寸和製作它的形狀(200,100),一個令人信服的理由? –
@WarrenWeckesser我沒有考慮這個選項。感謝您的建議,我將探討它。 – dpk