先设置一个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]]