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)