知乎看到图片觉得不错。但是总觉得有问题。应该执行单位化,不然无法计算出相关性,
我的源码如下:
#-------------------------------------------
import torch
import torch.nn.functional as F
t11=torch.tensor([[1.0,3,2],[1,1,3],[1,2,1]]) #有3个向量
t22=torch.tensor([[1.0,3,2],[1,1,3],[1,2,1]])
t11=F.normalize(t11) #默认dim=1 按行向量单位化
t22=F.normalize(t22)
print(torch.mm(t11 , t22.T)) #mm = matrix multi 矩阵乘法
#------------------------------------------------------------------------
执行结果为:
tensor([[1.0000, 0.8058, 0.9820], # 红色的1.00 表示 t11 第一个向量与 t22第一个向量完全相关
[0.8058, 1.0000, 0.7385],
[0.9820, 0.7385, 1.0000]])