私は、バックプロパゲーションの一部として、ニューロンネットワークをPythonで実装しています。3D行列を乗算する必要があります。次元は(200, 100, 1)
、次元はW、次元はです。結果のサイズは(200, 200, 1)
である必要があります。numpy配列の多次元行列乗算
Aは誤差ベクトル、Wは重み行列です。この積は前のレイヤの更新を計算するために使用されます。
Iはmatrix_multiply
(from numpy.core.umath_tests
)を使用して、それを解決しようとした、私は(100,200,1)にWを再形成し、その後乗算試み、それは
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)
をスロー。
どうすればこの問題を解決できますか?
自明なディメンションを削除してその形状(200,100)を作成する代わりに、「A」の形状を(200,100,1)とする魅力的な理由はありますか? –
@WarrenWeckesser私はそのオプションを考慮しませんでした。提案をありがとう、私はそれを探検します。 – dpk