将 numpy 3 dim 数组乘以 2d 数组

Multipy numpy 3 dim array by 2d array

我有两个矩阵,m0.shape = [10, 3, 3]m1.shape = [10, 3]。我想做的是使用循环以这种方式完成:

m0 = np.zeros((10, 3, 3))
m1 = np.zeros((10, 3))
a = np.zeros((10, 3))
for i in range(10):
    a += m1 @ m0[i]

问题是:我能否通过使用内置的 numpy 操作以某种方式获得相同的结果?

我想你有两个选择:

import numpy as np

np.sum(m1 @ m0, axis=0)

或使用numpy.einsum

np.einsum('ij,kjl->il', m1, m0)