参考链接: pytorch技巧1: 数组排序后复原
Microsoft Windows [版本 10.0.18363.1256]
(c) 2019 Microsoft Corporation。保留所有权利。
C:\Users\chenxuqi>conda activate ssd4pytorch1_2_0
(ssd4pytorch1_2_0) C:\Users\chenxuqi>python
Python 3.7.7 (default, May 6 2020, 11:45:54) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.manual_seed(seed=20200910)
<torch._C.Generator object at 0x00000246CA45D330>
>>>
>>> data = torch.randint(10,(10,))
>>> data
tensor([3, 8, 4, 7, 8, 5, 0, 8, 8, 1])
>>> a, idx1 = torch.sort(data)
>>> a
tensor([0, 1, 3, 4, 5, 7, 8, 8, 8, 8])
>>> idx1
tensor([6, 9, 0, 2, 5, 3, 1, 4, 7, 8])
>>>
>>> data
tensor([3, 8, 4, 7, 8, 5, 0, 8, 8, 1])
>>> b, idx2 = torch.sort(idx1)
>>> b
tensor([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> idx2
tensor([2, 6, 3, 5, 7, 4, 0, 8, 9, 1])
>>>
>>>
>>> a.index_select(0,idx2)
tensor([3, 8, 4, 7, 8, 5, 0, 8, 8, 1])
>>>
>>>
>>>