问题描述
我有一个形状为 a
的 numpy 数组 (x,y)
和另一个形状为 b
的数组 (x,z)
我正在尝试获取 x
和 a
的每一行(维度 b
)之间的点积。期望结果:x
形状为 (x,y)
的矩阵或形状为 (x,y,z)
的矩阵的数量。
解决方法
只需使用 einsum -
import numpy as np
a = np.random.rand(10,20)
b = np.random.rand(10,30)
c = np.einsum('ij,ik->ijk',a,b)
print(c.shape)