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,形状是[2,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)
mean_1 = tf.reduce_mean(xx, axis=1, keep_dims=False)
 
 
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.]]

类似函数还有:

  • tf.reduce_sum :计算tensor指定轴方向上的所有元素的累加和;
  • tf.reduce_max  :  计算tensor指定轴方向上的各个元素的最大值;
  • tf.reduce_all :  计算tensor指定轴方向上的各个元素的逻辑和(and运算);
  • tf.reduce_any:  计算tensor指定轴方向上的各个元素的逻辑或(or运算);
标签:
tensorflow,tf.reduce_mean

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“tensorflow中tf.reduce_mean函数的使用”
暂无“tensorflow中tf.reduce_mean函数的使用”评论...