2
我想用以下維度乘以兩個陣列: A =(10,1),B =(1,1,10,18)使用艾蘇姆。矩陣乘法與使用真相法
tmp = np.einsum('pi,klpy ->kliy', A, B)
我是否需要切換B陣列的尺寸才能獲得正確的結果? 我的意思是:
tmp = np.einsum('pi,lkyp ->kliy', A, B)
我想用以下維度乘以兩個陣列: A =(10,1),B =(1,1,10,18)使用艾蘇姆。矩陣乘法與使用真相法
tmp = np.einsum('pi,klpy ->kliy', A, B)
我是否需要切換B陣列的尺寸才能獲得正確的結果? 我的意思是:
tmp = np.einsum('pi,lkyp ->kliy', A, B)
你知不知道這兩個結果有不同的形狀? 如果是這樣,你應該很可能知道你期望的形狀。
import numpy as np
A=np.arange(10).reshape(1,10)
B=np.arange(180).reshape(1,1,10,18)
np.einsum('pi,klpy ->kliy', A, B).shape
np.einsum('pi,lkyp ->kliy', A, B).shape
結果
np.einsum('pi,klpy ->kliy', A, B).shape
Out: (1, 1, 10, 18)
np.einsum('pi,lkyp ->kliy', A, B).shape
Out: (1, 1, 10, 10)
非常確信第二甚至不會工作 –
什麼是正確的決定,真的。你的軸代表什麼具體的東西?或者你可以寫成一個你想實現的操作的循環? –