欢迎关注WX公众号:【程序员管小亮】
最近学习中碰到了以前学过的tf.placeholder()函数,特此记录。
tf.reduce_mean()函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的平均值,主要用作降维或者计算tensor(图像)的平均值。
tf.reduce_mean(
input_tensor,
axis=None,
keep_dims=False,
name=None,
reduction_indices=None
)
参数:
input_tensor
: 输入的待降维的tensoraxis
: 指定的轴,如果不指定,则计算所有元素的均值keep_dims
:是否降维度,默认False。设置为True,输出的结果保持输入tensor的形状,设置为False,输出结果会降低维度name
: 操作的名称reduction_indices
:在以前版本中用来指定轴,已弃用
例子1:
import tensorflow as tf
x = [[1,2,3],
[4,5,6]]
y = tf.cast(x, tf.float32)
mean_all = tf.reduce_mean(y)
mean_0 = tf.reduce_mean(y, axis=0)
mean_1 = tf.reduce_mean(y, axis=1)
with tf.Session() as sess:
m_a,m_0,m_1 = sess.run([mean_all, mean_0, mean_1])
print(m_a)
print(m_0)
print(m_1)
> 3.5
> [2.5 3.5 4.5]
> [2. 5.]
例子2:
import tensorflow as tf
x = [[1,2,3],
[4,5,6]]
y = tf.cast(x, tf.float32)
mean_all = tf.reduce_mean(y, keep_dims=True)
mean_0 = tf.reduce_mean(y, axis=0, keep_dims=True)
mean_1 = tf.reduce_mean(y, axis=1, keep_dims=True)
with tf.Session() as sess:
m_a,m_0,m_1 = sess.run([mean_all, mean_0, mean_1])
print(m_a)
print(m_0)
print(m_1)
> [[3.5]]
> [[2.5 3.5 4.5]]
> [[2.]
[5.]]
如果要设置保持原来的张量的维度,那么keep_dims=True
。
类似函数还有:
- tf.reduce_sum :计算tensor指定轴方向上的所有元素的累加和;
- tf.reduce_max : 计算tensor指定轴方向上的各个元素的最大值;
- tf.reduce_all : 计算tensor指定轴方向上的各个元素的逻辑和(and运算);
- tf.reduce_any: 计算tensor指定轴方向上的各个元素的逻辑或(or运算);
python课程推荐。