函数作用
tf.reduce_mean(input_tensor, axis=None, keepdims=False, name=None, reduction_indices=None) 作用:沿着张量不同的数轴(维度)进行计算平均值。
由于输出tensor的维度比原tensor的低,这类操作也叫降维。
axis参数
- axis参数缺省值为None, 表示对所有元素求平均值
axis=0, 按列降维,求每列的平均值。表示对第一维度(行)减少,减少行的方法是对所有列求平均值,即在行上压缩减少为一行。
2 4 6 2 2 2 计算结果 (2+2)/2=2 (4+2)/2=3 (6+2)/2=4 axis=1, 按行降维,求每行的平均值。表示对第二纬度(列)减少,减少列的方法是对所有的行求平均值,在列上压缩减少为一行。
计算结果 2 4 6 (2+4+6)/3=4 2 2 2 (2+2+2)/3=2
keepdims参数
是否要保持维度,若值为True,可多行输出平均值。
类似函数
- tf.reduce_max() //最大值
- tf.reduce_min() //最小值
- tf.reduce_sum() //和
- tf.reduce_prod() //乘积
- tf.reduce_all() //逻辑「与」
- tf.reduce_any() //逻辑「或」
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
import tensorflow as tf
a = tf.constant([[2,4,6],[2,2,2]])
with tf.Session() as sess:
print sess.run(tf.reduce_mean(a, keepdims=False)) //3
print sess.run(tf.reduce_mean(a, axis=0, keepdims=False)) //[2, 3, 4]
print sess.run(tf.reduce_mean(a, axis=1, keepdims=False)) //[4, 2]
//keepdims=True
print sess.run(tf.reduce_mean(a, keepdims=True)) //[[3]]
print sess.run(tf.reduce_mean(a, axis=0, keepdims=True)) //[[2, 3, 4]]
print sess.run(tf.reduce_mean(a, axis=1, keepdims=True)) //[[4], [2]]