官方文档说明:
函数:
def reduce_mean(input_tensor,
axis=None,
keepdims=None,
name=None,
reduction_indices=None,
keep_dims=None):
参数说明:
input_tensor:需要被降维的tensor
axis:需要被降维的维度,默认为空,则reduce所有维度。
keepdims:如果为true,则保留reduce的维度为1
name :op的名字
返回值:返回一个tensor
函数说明:计算input_tensor的平均值(在axis维度)。
例子:
import tensorflow as tf
x = tf.constant([[1., 1.], [2., 2.]])
sess = tf.Session()
res1 = tf.reduce_mean(x) # 1.5
res2 = tf.reduce_mean(x, 0) # [1.5, 1.5]
res3 = tf.reduce_mean(x, 1) # [1., 2.]
print('原始数据:')
print(sess.run(x))
print('========================')
print('计算结果:')
print(sess.run(res1))
print(sess.run(res2))
print(sess.run(res3))
print('==========keepdims参数为True==============')
res1 = tf.reduce_mean(x,keepdims=True) # [[1.5]]
res2 = tf.reduce_mean(x,axis=0, keepdims=True) # [[1.5 1.5]]
res3 = tf.reduce_mean(x,axis=1, keepdims=True) # [[1.] [2.]]
print('计算结果:')
print(sess.run(res1))
print(sess.run(res2))
print(sess.run(res3))
print('==========三维==============')
y = tf.constant([[[1., 1.],[2.,2.]], [[3.,3.],[4.,4.]]])
res1 = tf.reduce_mean(y) # 2.5
res2 = tf.reduce_mean(y, 0) # [[2. 2.] [3. 3.]]
res3 = tf.reduce_mean(y, 1) # [[1.5 1.5] [3.5 3.5]]
res4 = tf.reduce_mean(y, 2) # [[1. 2.] [3. 4.]]
print('原始数据:')
print(sess.run(y))
print('计算结果:')
print(sess.run(res1))
print(sess.run(res2))
print(sess.run(res3))
print(sess.run(res4))
sess.close()
打印结果:
原始数据:
[[1. 1.]
[2. 2.]]
========================
计算结果:
1.5
[1.5 1.5]
[1. 2.]
keepdims参数为True====
计算结果:
[[1.5]]
[[1.5 1.5]]
[[1.]
[2.]]
三维====
原始数据:
[[[1. 1.]
[2. 2.]][[3. 3.]
[4. 4.]]]
计算结果:
2.5
[[2. 2.]
[3. 3.]]
[[1.5 1.5]
[3.5 3.5]]
[[1. 2.]
[3. 4.]]