我有以下Pytorch张量:
V1 = torch.tensor([[2, 4], [6, 4], [5, 3]])
我想计算每对数字之差的总和(应用绝对值),类似于下面的代码;
result.sum(abs(2-4), abs(6-4), abs(5-3))
我可以使用for语句来做到这一点:
total = 0
for i in range(0,vector.size(0)):
total = total + torch.abs(vector.data[i][1] - vector.data[i][0])
但是我想不使用for来做。
有办法吗?
答案 0 :(得分:1)
您可以
torch.abs(V1[:, 1]- V1[:, 0])
并对其求和
torch.sum(torch.abs(V1[:, 1]- V1[:, 0]))
答案 1 :(得分:0)
您可以使用更通用的方法,如以下代码所示:
In [46]: torch.sum(torch.abs(V1[:, :-1] - V1[:, 1:]))
Out[46]: tensor(6)