将 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)
我有两个矩阵,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)