tf.reduce_mean作用降维或计算平均值
问题提出:
怎样快速获取矩阵中每一维元素的均值?
怎样快速获取矩阵中每一列元素的均值?
解决方法:
使用tensorflow中自带的tf.reduce_mean()函数。
函数介绍:
reduce_mean(input_tensor,
axis=None,
keep_dims=False,
name=None,
reduction_indices=None)
第一个参数input_tensor: 输入的待降维的tensor;
第二个参数axis: 指定的轴,如果不指定,则计算所有元素的均值;
第三个参数keepdims:是否降维度,设置为True,输出的结果保持输入tensor的形状,设置为False,输出结果会降低维度;
第四个参数name: 操作的名称;
第五个参数 reduction_indices:在以前版本中用来指定轴,已弃用;
示例:
具体步骤:
import tensorflow as tf
x = [[2,4,6],[12,14,16]]
xx = tf.cast(x,tf.float32)
mean_all = tf.reduce_mean(xx,keepdims=False)
mean_0 = tf.reduce_mean(xx, axis=0, keepdims=False)
mean_1 = tf.reduce_mean(xx, axis=1, keepdims=False)
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)
运行结果:
9.0
[ 7. 9. 11.]
[ 4. 14.]
参考:https://blog.****.net/dcrmg/article/details/79797826#commentBox