pytorch 有效地减去 Torch Tensor的每个可能对的元素

q8l4jmvw  于 2023-02-12  发布在  其他
关注(0)|答案(1)|浏览(109)

我有一个巨大的 Torch Tensor,我正在寻找一种有效的方法来减去每对Tensor的元素,当然我可以使用两个嵌套的for,但它不会是有效的。
比如说

[1, 2, 3, 4]

我想要的输出是

[1-2, 1-3, 1-4, 2-3, 2-4, 3-4]
polhcujo

polhcujo1#

您可以轻松地执行此操作:

>>> x = torch.tensor([1, 2, 3, 4])
>>> x[:, None] - x[None, :]
tensor([[ 0, -1, -2, -3],
        [ 1,  0, -1, -2],
        [ 2,  1,  0, -1],
        [ 3,  2,  1,  0]])

参见更多细节here

相关问题