tf.reduce_sum()

reduce_sum应该理解为按相应的轴压缩求和,用于降维。通过设置axis参数按相应轴压缩求和。通过如下实例进行理解。

先设置一个2*3*4的tensor实例x。

x =tf.constant([[[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]],
[[13, 14, 15, 16],
[17, 18, 19, 20],
[21, 22, 23, 24]]])
print x.shape
sess = tf.Session()
sess.run(tf.initialize_all_variables())
print sess.run(x)

tf.reduce_sum()_第1张图片

一、axis默认为None,此时为对x求和。

print "axis = None:"
print sess.run(tf.reduce_sum(x))

二、axis=0时,按第一个维度求和,求和后tensor维度变为为3*4.

print "axis = 0:"
print sess.run(tf.reduce_sum(x,0))

实际计算过程为:

[[1+13 2+14 3+15 4+16]

[5+17 6+18 7+19 8+20]

[9+21 10+22 11+23 12+24]]

三、axis=1时,按第二个维度求和,求和后维度变为2*4

print "axis = 1:"
print sess.run(tf.reduce_sum(x,1))

实际计算过程为:

[[1+5+9 2+6+10 3+7+11 4+8+12]
[13+17+21 14+18+22 15+19+23 16+20+24]]

四、axis=2时,按第三个维度求和,求和后维度变为2*3.

print "axis = 2:"
print sess.run(tf.reduce_sum(x,2))

实际计算过程为:

[[1+2+3+4 5+6+7+8 9+10+11+12]
[13+14+15+16 17+18+19+20 21+22+23+24]]

你可能感兴趣的:(深度学习)