令人又爱又恨的torch.argsort用法

pytorch中 Argsort函数用法

每次使用argsort用法,让人又爱又狠,一段时间不用,就忘了其如何使用,导致花费大量的实践进行理解,刚开始学习这个函数时认为这个函数输出每个数的排名,例如[4, 7, 9, 8]->[0, 1, 3, 2], 从小到大进行排名,但是实际上并不是这个作用,而实将数据进行排名,排名的数字是原始数据的id。所有其显示内容与我们预期结果不符。

import torch
a = torch.Tensor([1,2, 2, 5, 6, 6, 6, 9, 8, 9,7, 9, 1])
#                 
# l = torch.argsort(torch.argsort(a, dim=-1, descending=True), dim=-1, descending = False)[8]+1
# print(l)
print(torch.argsort( a, dim=-1, descending = True))
结果:tensor([ 7,  9, 11,  8, 10,  4,  5,  6,  3,  1,  2,  0, 12])

你可能感兴趣的:(深度学习,python,pytorch)