如何反转张量中的行顺序

Lea*_*ere 4 python tensorflow pytorch tensor

我正在尝试反转我创建的张量中的行的顺序。我尝试过使用tensorflow和pytorch。我唯一发现的是 torch.flip() 方法。这不起作用,因为它不仅颠倒了行的顺序,而且颠倒了每行中的所有元素。我希望元素保持不变。是否有一个数组操作来索引整数?例如:

 tensor_a = [1, 2, 3]
       [4, 5, 6]
       [7, 8, 9]

I want it to be returned as:
       [7, 8, 9]
       [4, 5, 6]
       [1, 2, 3]

 however, torch.flip(tensor_a) = 
       [9, 8, 7]
       [6, 5, 4]
       [3, 2, 1]
Run Code Online (Sandbox Code Playgroud)

有人有什么建议吗?

小智 6

根据文档 torch.fliphas argument dims,它控制要翻转的轴。在这种情况下torch.flip(tensor_a, dims=(0,))将返回预期结果。还将torch.flip(tensor_a)反转所有张量,torch.flip(tensor_a, dims=(1,))并将反转每一行,例如[1, 2, 3] --> [3, 2, 1].

  • 是否有替代 Torch Flip 的方法,它只返回张量的视图,而无需实际创建另一个张量并复制数据? (3认同)