Je commence avec TensorFlow. Pendant que j'évaluais plusieurs fois comment voir les données, J'ai trouvé que la perte change avec les exécutions.Plusieurs exécutions de l'évaluation donnent différentes pertes dans TensorFlow
eval_input_fn = tf.contrib.learn.io.numpy_input_fn({"x":x}, y, batch_size=4,
num_epochs=1)
estimator.evaluate(input_fn = eval_input_fn)
Par exemple, j'ai eu des pertes suivantes:
0,024675447 ou 0,030844312 quand batch_size == 2, num_epochs == 2
0.020562874 ou 0.030844312 lorsque batch_size == 4, num_epochs == 2
0,015422156 0,030844312 ou lorsque batch_size == 4, num_epochs == 1
Ce phénomène est-il normal? Je ne comprends pas le principe derrière cela.
--- le suivant ajouté
La même chose se produit lorsque j'utilise next_batch et eval() sans recyclage comme dans https://www.tensorflow.org/get_started/mnist/pros. Quand je lance la cellule suivante:
# mnist.test.labels.shape: (10000, 10)
for i in range(10):
batch = mnist.test.next_batch(1000)
print("test accuracy %g"%accuracy.eval(feed_dict={
x: batch[0], y_: batch[1], keep_prob: 1.0}))
Je suis
a)
précision du test 0,99
précision du test 0,997
précision du test 0,986
précision du test 0,993
essai précision 0,994
essai précision 0,993
essai précision 0,995
essai précision 0,995
essai précision 0,99
essai précision 0,99
b)
précision essai 0,99
de la précision du test 0,997
de la précision du test 0,989
de la précision du test 0,992
de la précision du test 0,993
de la précision du test 0,992
de la précision du test 0.994
précision du test 0,993
test de précision 0,993
test de précision 0,99
et ils (et leur moyenne) ne cessent de changer.
Merci pour votre réponse, mais je pense qu'il ya un malentendu. J'ai séparé la phase d'évaluation de la phase d'adaptation, de sorte que l'entraînement n'est exécuté qu'une seule fois. Seule cette ligne 'estimator.evaluate (input_fn = eval_input_fn)' est exécutée plusieurs fois, puis j'ai des pertes différentes quelle que soit la taille du lot ou le nombre d'époques que je donne. En fait, je ne comprends pas pourquoi nous avons la taille du lot et le nombre d'époques dans l'évaluation. –