pytorch和张量在每组数字内进行运算

时间:2019-05-04 17:52:11

标签: python sum pytorch tensor

我有以下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来做。

有办法吗?

2 个答案:

答案 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)