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)
一、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]]
扫描下方二维码关注领取程序员必备千套ppt模板,300本精选好书,丰富面经:
![](https://i-blog.csdnimg.cn/blog_migrate/0595f4d403e6ce6eb093d417ee251bda.jpeg)