###引用自 https://blog.youkuaiyun.com/qq_16137569/article/details/72568793
distance = tf.reduce_sum(tf.abs(tf.add(xtr, tf.negative(xte))), reduction_indices=1)
该句调用tf.reduce_sum(arg1,arg2) ,参数arg1
即为要求和的数据,arg2
有两个取值分别为0和1,通常用reduction_indices=[0]
或reduction_indices=[1]
来传递参数。从上图可以看出,当arg2 = 0
时,是纵向对矩阵求和,原来矩阵有几列就得到几个值;相似地,当arg2 = 1
时,是横向对矩阵求和;当省略arg2
参数时,默认对矩阵所有元素进行求和。
看到这里,函数名的前缀为什么是reduce_
其实也就很容易理解了,reduce就是“对矩阵降维”的含义,下划线后面的部分就是降维的方式,在reduce_sum()
中就是按照求和的方式对矩阵降维。那么其他reduce
前缀的函数也举一反三了,比如reduce_mean()
就是按照某个维度求平均值,等等。