【问题标题】:Pytorch batch matrix-matrix outer productPytorch 批量矩阵-矩阵外积
【发布时间】:2019-08-19 10:42:00
【问题描述】:

Pytorch batch matrix vector outer product 中的问题类似,我有两个矩阵,想计算它们的外积,或者换句话说,成对元素积。

形状示例: 如果我们有 torch.Size([32, 300, 8]) 形状的 X1 和 X2 结果的大小应为torch.Size([32, 300, 300, 8])

【问题讨论】:

  • torch.einsum('bik,bjk->bijk', X1, X2) 怎么样?

标签: python pytorch tensor elementwise-operations


【解决方案1】:

您可以添加单件维度:

X1[:, None, ...] * X1[..., None, :]

但 Usman Ali 的 comment 也是一个好主意。使用torch.einsum

torch.einsum('bik,bjk->bijk', X1, X2)

【讨论】: