tf.reduce_sum()

关于reduce有一系列的函数,为什么加了个reduce呢?

reduce翻译过来是归约,其效果也就相当于降维,比如二维矩阵按行求和,结果就是一个向量,少了一维,也就是会掉一层方括号。
Keepdims,这个参数会使其不掉那一层方括号,也就是保持维度数目,尤其适合操作结束要和其他同维度数据相加。

a = [[[1,2], [3,4], [5,6],[7,8]]]

with tf.Session() as session:
    print(session.run(tf.reduce_sum(a)))
    print(session.run(tf.reduce_sum(a, axis=0)))
    print(session.run(tf.reduce_sum(a, axis=0, keep_dims=True)))
    print(session.run(tf.reduce_sum(a, axis=1)))
    print(session.run(tf.reduce_sum(a, axis=1, keep_dims=True)))
    print(session.run(tf.reduce_sum(a, axis=2)))
    print(session.run(tf.reduce_sum(a, axis=2, keep_dims=True)))

36
[[1 2]
 [3 4]
 [5 6]
 [7 8]]
[[[1 2]
  [3 4]
  [5 6]
  [7 8]]]
[[16 20]]
[[[16 20]]]
[[ 3  7 11 15]]
[[[ 3]
  [ 7]
  [11]
  [15]]]

参考:
https://www.zhihu.com/question/51325408

猜你喜欢

转载自blog.csdn.net/weixin_41043240/article/details/79734656