tensorflow中 tf.reduce_mean函数-补充注释说明

转载出处  https://blog.csdn.net/dcrmg/article/details/79797826

在原文上增加一些自己的理解注释

tf.reduce_mean 函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值。

reduce_mean(input_tensor,
axis=None,
keep_dims=False,
name=None,
reduction_indices=None)

第一个参数input_tensor: 输入的待降维的tensor;
第二个参数axis: 指定的轴,如果不指定,则计算所有元素的均值;
第三个参数keep_dims:是否降维度,设置为True,输出的结果保持输入tensor的形状,设置为False,输出结果会降低维度;
第四个参数name: 操作的名称;
第五个参数 reduction_indices:在以前版本中用来指定轴,已弃用;
以一个维度是2,形状是[3,3]的tensor举例:

import tensorflow as tf

x = [[1,2,3],
[1,2,3]]

xx = tf.cast(x,tf.float32)

mean_all = tf.reduce_mean(xx, keep_dims=False)
mean_0 = tf.reduce_mean(xx, axis=0, keep_dims=False)  #补充说明:axis=0 对每一列求平均值,即[1,1],[2,2],[3,3],结果:[1,2,3]
mean_1 = tf.reduce_mean(xx, axis=1, keep_dims=False)  #补充说明:axis=1 对每一行求平均值,即[1,2,3],[1,2,3],结果:[2,2]


with tf.Session() as sess:
m_a,m_0,m_1 = sess.run([mean_all, mean_0, mean_1])
#以下输出结果
print m_a # output: 2.0
print m_0 # output: [ 1. 2. 3.]
print m_1 #output: [ 2. 2.]


如果设置保持原来的张量的维度,keep_dims=True ,结果:

print m_a # output: [[ 2.]]
print m_0 # output: [[ 1. 2. 3.]]  
print m_1 #output: [[ 2.], [ 2.]]

猜你喜欢

转载自www.cnblogs.com/junblog/p/10622896.html