tf.reduce_sum(
input_tensor,
axis=None,
keepdims=None,
name=None,
reduction_indices=None,
keep_dims=None
)
reduce_sum是TensorFlow中用来计算张量的某一维度的和,所以知道哪一维度是关键。
求和
对于多维数组元素的相加,如果不指定是进行哪一维度的相加,结果是未定义的。tensorflow指定了默认行为:把所有元素全加在一起。
x = tf.constant([[1, 1, 1], [1, 1, 1]]) #定义一个常量
tf.reduce_sum(x) # 6 默认把所有元素加起来 1+1+1+1+1+1=6
维度和轴(axis)
维度
我们可以把维度理解为你要索引一个具体的数字需要的坐标数量最少是多少个。
eg:
[[[1,2], [3,4]], [[5,6], [7,8]]],对于这个数组来说,我们要索引到数字2至少需要三个坐标首先是0索引到[[1,2], [3,4]],再是0索引到[1,2],然后是1索引到2。我们一共用了3个坐标,所以这是一个三维数组。
轴 axis
axis是多维数组每个维度的坐标。
首先索引到的axis为0,越往里一层axis加1。即索引到数字3的坐标为[0,0,1],那么001依次对应的轴为0,1,2.
对于[ [[1,2], [3,4]], [[5,6], [7,8]] ]这个3维情况,[[1,2],[[5,6]], [[3,4], [7,8]]这两个矩阵(还记得吗,高维的元素低一个维度,因此三维立方的元素是二维矩阵)的axis是0,[1,2],[3,4],