2016-07-18 10 views
1

Ich trainiere ein tiefes Netzwerk mit zwei Dateneingabepipelines, eine für das Training und eine für die Validierung. Sie verwenden shuffle_batch_join bzw. batch_join zum parallelen Lesen von Daten. Der Datenstrom, der im Netzwerk verwendet wird, wird mithilfe einer tf.cond-Operation über diesen beiden Pipelines festgelegt, die von einem is_training-Platzhalter gesteuert wird, der für eine Trainingsiteration auf "wahr" und bei der Validierung auf "falsch" gesetzt ist. Ich habe 4 Threads für das Lesen von Trainingsdaten und 1 Thread für die Validierung.tf.train.batch_join Warteschlangenleck?

Ich habe jedoch gerade die Warteschlangenzusammenfassungen zum Tensorboard hinzugefügt und beobachtet, dass die Zusammenfassung der Validierungswarteschlange (die einen Teil der Warteschlange anzeigt) während des Trainings an einem Punkt ungleich Null wird und dann wieder auf 0 abfällt scheint sehr seltsam, weil Validierung nur nach 1K Iterationen ausgeführt wird, und diese Datenpunkte sollten nur an diesem Punkt entfernt werden. Hat jemand eine ähnliche Erfahrung oder kann etwas Licht in das werfen, was geschehen könnte?

Antwort