最佳答案
在 MNIST 初学者教程中,有一个语句
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
tf.cast
基本上改变了物体张量的类型,但是 tf.reduce_mean
和 np.mean
有什么区别呢?
这是 tf.reduce_mean
台的文档:
reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)
要减少的张量。应该有数字类型。
要缩小的尺寸。如果
None
(默认值) ,缩小所有尺寸。# 'x' is [[1., 1. ]] # [2., 2.]] tf.reduce_mean(x) ==> 1.5 tf.reduce_mean(x, 0) ==> [1.5, 1.5] tf.reduce_mean(x, 1) ==> [1., 2.]
对于一维矢量,它看起来像 np.mean == tf.reduce_mean
,但我不明白在 tf.reduce_mean(x, 1) ==> [1., 2.]
中发生了什么。tf.reduce_mean(x, 0) ==> [1.5, 1.5]
有点道理,因为 [1, 2]
和 [1, 2]
的平均值是 [1.5, 1.5]
,但是 tf.reduce_mean(x, 1)
是怎么回事?