关于踩坑argmax和argsrt

最近在做一些项目的时候遇到一些问题,在此记录一下

1、argmax

numpy作为python的开源库,一直受到广大用户的青睐,numpy库中涉及到的argmax函数,其作用是返回数组中最大值的索引。

当一个数组中有多个相同的最大值的时候,numpy会返回第一个出现的最大值索引;当使用pytorch的argmax时候,返回的是最后一个出现的最大值索引;

import numpy as np

a = [1, 2, 3, 3]
b = np.array(a)
c = from_numpy(b)
print(argmax(b))  #输出为2
print(torch.argmax(c))  #输出为3

当然在libtorch中和pytorch的情况是一样的,在c++中使用vector的函数寻找最大值索引返回的也是第一个出现的最大值索引,和numpy相同。

2、argsort

在pytorch、libtorch和numpy中都存在argsort函数,但是对同一个数组进行排序并且此数组中存在许多相同的值的时候,三个库的排序是不一样的,他们之间的排序逻辑存在差异。

你可能感兴趣的:(python,numpy,开发语言)