Nel tutorial per principianti di MNIST , c'è la dichiarazione
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
tf.cast
sostanzialmente cambia il tipo di tensore dell'oggetto, ma qual è la differenza tra tf.reduce_mean
e np.mean
?
Ecco il documento su tf.reduce_mean
:
reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)
input_tensor
: Il tensore da ridurre. Dovrebbe avere un tipo numerico.
reduction_indices
: Le dimensioni da ridurre. SeNone
(il valore predefinito), riduce tutte le dimensioni.# '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.]
Per un vettore 1D, sembra np.mean == tf.reduce_mean
, ma non capisco cosa stia succedendo in tf.reduce_mean(x, 1) ==> [1., 2.]
. tf.reduce_mean(x, 0) ==> [1.5, 1.5]
ha senso, dal momento che significa [1, 2]
e [1, 2]
è [1.5, 1.5]
, ma cosa sta succedendo tf.reduce_mean(x, 1)
?