私は行列Asとベクトルbsの束を持っていると言います。私は(BS、として)np.innerを行うとどのようにPythonで別のペアごとに行列のベクトル内積を行うには?
As = array([[[1, 7], [3, 8]],
[[2, 1], [5, 9]],
[[7, 2], [8, 3]]])
bs = array([[8, 0], [8, 8], [7, 3]])
、私が取得:
array([[[ 8, 64, 28], [ 24, 88, 45]],
[[ 16, 24, 17], [ 40, 112, 62]],
[[ 56, 72, 55], [ 64, 88, 65]]])
しかし、私はすべての内積を必要としません。私が望むのは、各ベクトルを使って各行列を一度計算することです。そして、私が期待される行列を得る
np.array(map(lambda (a, b): np.inner(a, b), zip(As, bs)))
:
array([[ 8, 24], [ 24, 112], [ 55, 65]])
私は> 10この操作を必要とするので、今、私はなどをマッピング、郵便番号を使用しない** 私はこのような何かを行うことができます6時間(画像処理用、GMM用)。 numpy、scipyなどを使ってこれを行う方法はありますか?あなたがnp.einsum
使用することができます
これは正確には何ですか?私は本当にそのeinsumを理解していません... – PiMathCLanguage
@PiMathCLanguageいくつかのコメントを追加しました。それらをチェックしてください。 – Divakar