问题描述
是否有一个内置函数可以有效地计算 Pytorch 中两个张量的所有成对点积?
例如
输入 - 张量 A
(形状 N
xD
)
张量 B
(形状 N
xD
)
输出 - 张量 C
(形状 N
xN
)使得 C_i,j = torch.dot(A_i,B_j)
?
解决方法
是不是很简单
C = torch.mm(A,B.T) # same as C = A @ B.T
顺便说一句,
一个非常灵活的矩阵/向量/张量点积工具是 torch.einsum
:
C = torch.einsum('id,jd->ij',A,B)