tf.reducemean()到底是什么意思?

在tensorflow中经常见到reducemean这个api,到底有什么用,到底是对谁求均值?

api中是这样写的:

tf.reduce_mean(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
Computes the mean of elements across dimensions of a tensor.
Reduces input_tensor along the dimensions given in axis. Unless keep_dims is true, the rank of the tensor is reduced by 1 for each entry in axis. If keep_dims is true, the reduced dimensions are retained with length 1.If axis has no entries, all dimensions are reduced, and a tensor with a single element is returned.

直观的翻译就是

根据给出的axis在input_tensor上求平均值。除非keep_dims为真,axis中的每个的张量秩会减少1。如果keep_dims为真,求平均值的维度的长度都会保持为1.如果不设置axis,所有维度上的元素都会被求平均值,并且只会返回一个只有一个元素的张量。

为了更加清楚的理解其含义,给出一个简单的例子:

import numpy as np
import tensorflow as tf
x = np.array([[1.,2.,3.],[4.,5.,6.]])
sess = tf.Session()
mean_none = sess.run(tf.reduce_mean(x))
mean_0 = sess.run(tf.reduce_mean(x, 0))
mean_1 = sess.run(tf.reduce_mean(x, 1))
print (x)
print (mean_none)
print (mean_0)
print (mean_1)
sess.close()

结果如下所式:

x=
[[ 1. 2. 3.] [ 4. 5. 6.]]
 ```
mean_none=
3.5
``` mean_0=
[ 2.5  3.5  4.5]
mean_1=
[ 2. 5.]

你可能感兴趣的:(机器学习)