tf.compat.v1.reduce_mean:计算跨张量维度的元素的均值。
tf.compat.v1.reduce_mean(
input_tensor, axis=None, keepdims=None, name=None, reduction_indices=None,
keep_dims=None
)
通过计算各个维度axis
的元素平均值,沿给定的维度axis
减少input_tensor。除非keepdims
为true,否则对于axis
中的每个条目,张量的等级都会降低1。如果keepdims
为true,则减小的维度将保留为长度1。
如果axis
为None,则缩小所有维度,并返回带有单个元素的张量。
import tensorflow as tf
with tf.Session() as sess:
x = tf.constant([[1., 1.], [2., 2.]])
a = tf.reduce_mean(x)
print(a)
print(sess.run(a))
b = tf.reduce_mean(x, 0)
print(b)
print(sess.run(b))
c = tf.reduce_mean(x, 0)
print(c)
print(sess.run(c))
# 输出结果:
# Tensor("Mean:0", shape=(), dtype=float32)
# 1.5
# Tensor("Mean_1:0", shape=(2,), dtype=float32)
# [1.5 1.5]
# Tensor("Mean_2:0", shape=(2,), dtype=float32)
# [1.5 1.5]
import tensorflow as tf
with tf.Session() as sess:
x = tf.constant([[1., 1.], [2., 2.]])
print(tf.reduce_mean(x))
print(sess.run(tf.reduce_mean(x)))
print(tf.reduce_mean(x, 0))
print(sess.run(tf.reduce_mean(x, 0)))
print(tf.reduce_mean(x, 1))
print(sess.run(tf.reduce_mean(x, 1)))
# 输出结果:
# Tensor("Mean:0", shape=(), dtype=float32)
# 1.5
# Tensor("Mean_2:0", shape=(2,), dtype=float32)
# [1.5 1.5]
# Tensor("Mean_4:0", shape=(2,), dtype=float32)
# [1. 2.]
Args | |
---|---|
input_tensor | 要减少的张量。 应为数字类型。 |
axis | 要减少的维度。如果为None(默认),减少所有的维度。必须在范围
|
keepdims | 如果为true,则保留长度为1的减少维度。 |
name | 操作的名称(可选)。 |
reduction_indices | 轴的旧名称(不建议使用)。 |
keep_dims | 不推荐使用的别名keepdims 。 |
Returns | |
---|---|
缩减的张量。 |
numpy兼容性:相当于np.mean
请注意,np.mean
具有一个可用于指定输出类型的dtype
参数。默认情况下为dtype=float64
。另一方面,tf.reduce_mean
具有来自input_tensor
的激进类型推断,例如:
import tensorflow as tf
with tf.Session() as sess:
x = tf.constant([1, 0, 1, 0])
x_ = tf.reduce_mean(x)
print(x_)
print(sess.run(x_))
y = tf.constant([1., 0., 1., 0.])
y_ = tf.reduce_mean(y)
print(y_)
print(sess.run(y_))
# 输出结果:
# Tensor("Mean:0", shape=(), dtype=int32)
# 0
# Tensor("Mean_1:0", shape=(), dtype=float32)
# 0.5
即,tf.reduce_mean
返回与input_tensor
相同的数据类型。