您可以
np.einsum像这样使用-
np.einsum('ij,ikj->ik',a,b)样品运行-
In [42]: M,N = 3,4In [43]: a = np.random.rand(100,N)In [44]: b = np.random.rand(100,M,N)In [45]: np.einsum('ij,ikj->ik',a,b).shapeOut[45]: (100, 3)您也可以使用
np.matmul或
@运算符(Python 3.x),尽管它似乎比
einsum-慢一点-
np.matmul(a[:,None],b.swapaxes(1,2))[:,0]



