【发布时间】:2016-08-10 15:01:17
【问题描述】:
我在 Torch 中遇到了当前的编程问题。
我有一张由两个张量组成的表格:
require 'nn'
N = 4
aaaTensor = torch.randn(N)
bbbTensor = torch.randn(N)
thisTable = {aaaTensor, bbbTensor}
我想计算 aaaTensor 和 bbbTensor 的每对单个值的 余弦距离:
-
aaaTensor[1]和bbbTensor[1]之间的余弦距离 -
aaaTensor[2]和bbbTensor[2]之间的余弦距离 - ...
-
aaaTensor[N]和bbbTensor[N]之间的余弦距离
我不知道该怎么做。
如果我使用 nn.CosineDistance() 模块 (link),它将计算 aaaTensor 和 bbbTensor 之间的一般余弦距离:
cosine = nn.CosineDistance()
cosine:forward{aaaTensor, bbbTensor}
0.7185
[torch.DoubleTensor of size 1]
我想要 N=4 个输出。
如何实现这种一对一的余弦距离计算? 谢谢
【问题讨论】:
-
通常我希望余弦距离应用于两个向量,但
aaaTensor[1]和bbbTensor[2]只是数字。两个数字的余弦差应该是什么意思?
标签: lua torch cosine-similarity trigonometry