同numpy的其他函数一样,mamimum,argmax,argmin函数也都能进行广播,并对np.array进行操作。
maximum是用来求最大值的,可以用来实现ReLu函数。这个最大值的shape依据最大的array的shape来定。比如比较(2,),(3,2)的数组的最大值。那么maximum返回的array的shape就是(3,2)。而且这里的各元素由参与比较的各array的对应元素的最大值决定。比如有2个(2,2)的array,a,b参与比较热 re = np.maximum(a,b),那么re[0][0]的值等于a[0][0],b[0][0]的最大值,而re[1][0]则是a[1][0],b[1][0]最大值……以此类推。
import numpy as np
a1 = np.array([1,2])
a2 = np.array([[-1,3],[0,1],[4,8]])
re =np.maximum(a1,a2)
#(3,2)
re.shape
# [[1 3]
# [1 2]
# [4 8]]
print re
argmax 函数就是用来求一个array中最大值的下标。注意要输入是二维array,返回的不是2个数,而是一个数。这点在C语言上就很好理解,该数表示最大值相对于起始地址的偏移量。
#打印上面求得最大值的下标
#index1 = 5
index1 = np.argmax(re)
#打印一维的array
#index2 = 2
index2 = np.argmax([1,2,6,3,2])
argmin 函数就是用来求一个array中最小值的下标。用法同argmin类似。
index1 = np.argmin(re)
index2 = np.argmin([1,2,6,3,2])