У меня есть текущая проблема программирования в Torch.Torch Lua, как вычислить расстояние для косинуса для каждой пары одиночных значений двух тензоров?
У меня есть таблица, выполненная из двух тензоров:
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 выходов.
Как я могу реализовать это вычисление косинусоидального расстояния один на один? Thanks
Обычно я бы ожидать, что расстояние косинус будет применен к двум векторам, но 'aaaTensor [1] и' bbbTensor [2] 'только числа. Что означает разность косинусов двух чисел? – hugomg