Ich ändere meinen TensorFlow-Code von der alten Warteschlangenschnittstelle zur neuen Dataset-API. Mit der alten Schnittstelle könnte ich die tatsächlich gefüllte Warteschlangengröße überwachen, indem ich auf einen Rohzähler in der Grafik z. wie folgt:Zugriffsnummer der in der TensorFlow-Dataset-API eingereihten Elemente
queue = tf.train.shuffle_batch(..., name="training_batch_queue")
queue_size_op = "training_batch_queue/random_shuffle_queue_Size:0"
queue_size = session.run(queue_size_op)
jedoch mit dem neuen Datensatz API kann ich nicht auf die Warteschlangen/Datensätze im Zusammenhang scheinen alle Variablen in der Grafik zu finden, so dass meine alten Code nicht mehr funktioniert. Gibt es eine Möglichkeit, die Anzahl der Elemente in der Warteschlange mithilfe der neuen Dataset-API (z. B. in der Warteschlange tf.Dataset.prefetch
oder tf.Dataset.shuffle
) zu erhalten?
Es ist wichtig für mich, die Anzahl der Elemente in der Warteschlange zu überwachen, da dies mir viel über das Verhalten der Vorverarbeitung in den Warteschlangen sagt, einschließlich ob die Vorverarbeitung oder der Rest (z Netzwerk) ist der Geschwindigkeitsengpass.
bitte, schauen Sie sich [46444018] (https://stackoverflow.com/questions/46444018/meaning-of-buffer-size-in-dataset-map-dataset-prefetch-and-dataset-shuffle) an erhalten Sie eine bessere Vorstellung von dem zugrunde liegenden Verhalten der verschiedenen Arten von Shuffle-Argumenten –
@maxF. Ja ich verstehe. Das Beispiel in meinem Post ist vielleicht nicht das beste, da es interessant ist, 'tf.train.shuffle_batch' in der alten Einstellung zu überwachen, aber es macht keinen Sinn,' tf.Dataset.shuffle' in der neuen Einstellung zu überwachen. Was zur Überwachung sinnvoll ist, ist die Größe von 'tf.Dataset.prefetch', um eine Vorstellung davon zu bekommen, ob die Vorverarbeitung oder das eigentliche Netzwerk der Flaschenhals ist. – CNugteren