tf.reduce_sum、tf.reduce_mean

tf.reduce_sum、tf.reduce_mean这两个函数分别是对输入Tensor的某几维求和 和 求均值。
参数列表为

 reduce_sum(
        input_tensor,
        axis=None,
        keep_dims=False,
        name=None,
        reduction_indices=None

其中第二个参数可以为列表类型,例如:
输入一个三维Tensor, m是对其[0, 1]维求和,m_是对其第0维求和后再对该结果的第一维求和(keep_dim=True)

import tensorflow as tf
x = tf.constant([[[1., 5., 9.],  
                  [2., 6., 8.]],
                 [[3., 7., 7.],
                  [4., 8., 6.]]])  # [2,2,3]
m0 = tf.reduce_sum(x, 0, True)
m = tf.reduce_sum(x, [0, 1], True)
m_ = tf.reduce_sum(m0, 1, True)
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(m0))
    print(sess.run(m))
    print(sess.run(m_))

运行结果为:
tf.reduce_sum、tf.reduce_mean_第1张图片
由此可见,当第三个参数keep_dim=True时,对三维Tensor的[0, 1]维进行tf.reduce_sum或tf.reduce_mean操作,等价于对其第0维操作后再对得到的结果的第1维进行操作。

另:
keep_dim=False,则等价于对对其第0维操作后再对得到的结果的第0维进行操作。

你可能感兴趣的:(Tensorflow)