1.np.max
返回numpy数组中的最大值,默认axis为None,此时返回所有元素中的最大值,若进行初始化,则选择axis维度下的最值,例如对于矩阵来说,axis=0表示列最大值,axis=1表示行最大值
arr = np.random.randn(2, 2) print(arr) print(np.max(arr)) print(np.max(arr, axis=1))
结果:
[[ 2.49654859 -0.21022188]
[ 0.70946971 0.84199004]]
2.496548592171631
[2.49654859 0.84199004]
2.np.maximum
将传入的数组中的每一个元素与第二个参数进行比较,取值为二者中的较大者
arr = np.random.randn(2, 2) print(arr) print(np.maximum(arr, 1))
结果:
[[ 2.49654859 -0.21022188]
[ 0.70946971 0.84199004]]
[[2.49654859 1. ]
[1. 1. ]]
3.np.argmax
返回axis对应维度的最大元素的位置,默认None,文档说明如下
意思就是把矩阵展开,返回下标
arr = np.random.randn(2, 2) print(arr) print(np.argmax(arr, 1))
print(np.argmax(arr))
结果:
[[ 2.49654859 -0.21022188]
[ 0.70946971 0.84199004]]
[0 1]
0
4.torch.max
效果相当于max和argmax的组合,会返回两个返回值,返回值1表示对应axis维度最大的值,返回值2表示应axis维度取最大值的位置
arr = np.random.randn(2, 2) print(arr) print(torch.max(torch.tensor(arr), 1)) _, a = torch.max(torch.tensor(arr), 1) print(a)
结果:
[[ 2.49654859 -0.21022188]
[ 0.70946971 0.84199004]]
torch.return_types.max(
values=tensor([1.0242, 0.2471], dtype=torch.float64),
indices=tensor([1, 0]))
tensor([1, 0])
PS:_的作用是忽略掉返回值1,因为在使用torch进行预测的时候,我们不关心具体的值是多少,只是想知道预测的标签。
5.torch.argmax
torch的返回值2,也即是下标,就是用torch.argmax计算出来的
arr = np.random.randn(2, 2) print(arr) print(torch.argmax(torch.tensor(arr),1)) print(a)
结果:
[[ 2.49654859 -0.21022188]
[ 0.70946971 0.84199004]]
tensor([1, 0])