En el tutorial para principiantes de MNIST , está la declaración
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
tf.cast
básicamente cambia el tipo de tensor del objeto, pero ¿cuál es la diferencia entre tf.reduce_mean
y np.mean
?
Aquí está el documento tf.reduce_mean
:
reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)
input_tensor
: El tensor a reducir. Debería tener tipo numérico.
reduction_indices
: Las dimensiones a reducir. SiNone
(el predeterminado), reduce todas las dimensiones.# '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.]
Para un vector 1D, parece np.mean == tf.reduce_mean
, pero no entiendo qué está sucediendo en tf.reduce_mean(x, 1) ==> [1., 2.]
. tf.reduce_mean(x, 0) ==> [1.5, 1.5]
tiene sentido, ya que significa [1, 2]
y [1, 2]
es [1.5, 1.5]
, pero ¿qué está pasando tf.reduce_mean(x, 1)
?