np.argmax()

numpy.argmax(array, axis) 用于返回一个numpy数组中最大值的索引值。当一组中同时出现几个最大值时,返回第一个最大值的索引值。

针对softmax的输出是Ndarray,需要对one-hot类型输出标签进行转换,这个函数直接搞定。

在运算时,相当于剥掉一层中括号,返回一个数组,分为一维和多维。一维数组剥掉一层中括号之后就成了一个索引值,是一个数,而n维数组剥掉一层中括号后,会返回一个 n-1 维数组,而剥掉哪一层中括号,取决于axis的取值。

一维数组的用法

one_dim_array = np.array([1, 4, 5, 3, 7, 2, 6])
print(np.argmax(one_dim_array))

output>>4

多维数组的用法

遵循运算之后降一维的原则,因此返回的会是一个一维的array。同时,axis的取值为0和1,对应剥掉的中括号,将里面的内容直接按逗号分隔:

two_dim_array = np.array([[1, 3, 5], [0, 4, 3]])
max_index_axis0 = np.argmax(two_dim_array, axis = 0)
max_index_axis1 = np.argmax(two_dim_array, axis = 1)
print(max_index_axis0)
print(max_index_axis1)

输出:

[0 1 0] 
[2 1]

这里的two_dim_array是一个 2×3 的矩阵,对应axis为:
array axis
2 —— 0
3 —— 1
所以,在axis为0时,剥掉2,返回一个1×3的数组;在axis为1时,剥掉3,返回一个1×2的数组

高维

以三维为例,计算思路与二维相同。

三维计算之后降维,将返回一个二维数组。

一个m×n×p维的矩阵,
axis为0,舍去m,返回一个 n×p 维的矩阵
axis为1,舍去n,返回一个 m×p 维的矩阵
axis为2,舍去p,返回一个 m×n 维的矩阵

你可能感兴趣的:(Python,python)