tf.reduce_mean()

转载:https://blog.csdn.net/he_min/article/details/78694383

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

api中是这样写的:

tf.reduce_mean(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
  • 1
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.
  • 1
  • 2

直观的翻译就是

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

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

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

结果如下所式:

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

猜你喜欢

转载自blog.csdn.net/qq_38409301/article/details/81433049