Pytorch批量矩阵-矩阵外积
Pytorch batch matrix-matrix outer product
与 中的问题类似,我有两个矩阵,想计算它们的外积,或者换句话说,成对元素积。
形状示例:
如果我们有 torch.Size([32, 300, 8])
形状的 X1 和 X2
结果的大小应为 torch.Size([32, 300, 300, 8])
您可以添加单例维度:
X1[:, None, ...] * X1[..., None, :]
但是乌斯曼·阿里 is also a good idea. Use torch.einsum
:
torch.einsum('bik,bjk->bijk', X1, X2)
与
形状示例:
如果我们有 torch.Size([32, 300, 8])
形状的 X1 和 X2
结果的大小应为 torch.Size([32, 300, 300, 8])
您可以添加单例维度:
X1[:, None, ...] * X1[..., None, :]
但是乌斯曼·阿里 torch.einsum
:
torch.einsum('bik,bjk->bijk', X1, X2)