Dans le didacticiel MNIST pour débutants , il y a la déclaration
accuracy = tf.reduce_mean(tf.cast(correct_prediction, "float"))
tf.cast
change fondamentalement le type de tenseur de l'objet, mais quelle est la différence entre tf.reduce_mean
et np.mean
?
Voici la doc sur tf.reduce_mean
:
reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)
input_tensor
: Le tenseur à réduire. Doit avoir un type numérique.
reduction_indices
: Les dimensions à réduire. SiNone
(le défaut), réduit toutes les dimensions.# '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.]
Pour un vecteur 1D, cela ressemble à np.mean == tf.reduce_mean
, mais je ne comprends pas ce qui se passe tf.reduce_mean(x, 1) ==> [1., 2.]
. tf.reduce_mean(x, 0) ==> [1.5, 1.5]
a du sens, puisque signifie [1, 2]
et [1, 2]
est [1.5, 1.5]
, mais que se passe- tf.reduce_mean(x, 1)
t-il?