【发布时间】:2021-04-10 01:24:15
【问题描述】:
我有两个 numy 矩阵:
- 形状为 (N,M,d) 的 A
- 形状为 (N,d) 的 B
所以,我试图以这样的方式获得一个形状为 (N,M,d) 的矩阵,以便在 B 和 A 的每个元素(它们是 M 个元素)之间进行元素明智的乘积。我使用 numpy 的 einsum 如下:
product = np.einsum('ijk,ik->ijk', A, B)
我得到了良好的形状,但我怀疑操作是错误的,并且我没有按预期做元素明智的产品。
我对 einsum 的使用正确吗?
【问题讨论】:
-
你可以用一对玩具矩阵在大约 2 秒内进行测试。投票结束,因为您没有查看数据。
-
另外,如果您不确定,请使用
A * B[:, None, :]。 -
@MadPhysicist,同时对我的答案进行了同样的编辑。
标签: python numpy numpy-einsum