所谓reduce就是降维的意思,
我们以reduce_sum函数为例
调用reduce_sum(arg1, arg2)时,参数arg1即为要求和的数据,arg2有两个取值分别为0和1,通常用reduction_indices=[0]或reduction_indices=[1]来传递参数。
从上图可以看出,当arg2(reduction_indices) = 0时,是纵向对矩阵求和(对行求和),原来矩阵有几列就得到几个值;相似地,当arg2(reduction_indices) = 1时,是横向对矩阵求和(对列求和);当省略arg2参数时,默认对矩阵所有元素进行求和。
此外,reduction_indices=(0,1)意思是先在行上求和降维,然后在列上求和降维。
看到这里,函数名的前缀为什么是reduce_其实也就很容易理解了,reduce就是“对矩阵降维”的含义,下划线后面的部分就是降维的方式,在reduce_sum()中就是按照求和的方式对矩阵降维。那么其他reduce前缀的函数也举一反三了,比如reduce_mean()就是按照某个维度求平均值,等等。