Ich war bei TensorFlow getting started guide for CNNWie erhält die Funktion "deformed_inputs()" im Beispiel-Tutorial TensorFlow CIFAR-10 128 Bilder pro Stapel?
nun im Zuge Funktion in cifar10_train.py das CIFAR-10 Beispiel gehe durch bekommen wir Bilder als
images,labels = cifar10.distorted_inputs()
In der distorted_inputs()
Funktion erzeugen wir die Dateinamen in eine Warteschlange und dann einen einzelnen Datensatz lesen als
# Create a queue that produces the filenames to read.
filename_queue = tf.train.string_input_producer(filenames)
# Read examples from files in the filename queue.
read_input = cifar10_input.read_cifar10(filename_queue)
reshaped_image = tf.cast(read_input.uint8image, tf.float32)
Wenn ich de hinzufügen Fehlercode, die read_input
Variable enthält nur 1 Datensatz mit einem Bild und seine Höhe, Breite und Bezeichnung.
Das Beispiel wendet dann eine Verzerrung auf das gelesene Bild/Datensatz an und übergibt es dann an die _generate_image_and_label_batch()
-Funktion.
Diese Funktion gibt dann einen 4D Tensor der Form [batch_size, 32, 32, 3]
mit batch_size = 128
zurück.
Die obige Funktion verwendet die Funktion tf.train.shuffle_batch()
, wenn die Charge zurückgegeben wird.
Meine Frage ist, woher kommen die zusätzlichen Datensätze in der tf.train.shuffle_batch()
Funktion? Wir geben keine Dateinamen oder Leserobjekte weiter.
Kann jemand etwas beleuchten, wie wir von 1 Rekord zu 128 Aufzeichnungen gehen? Ich habe in die Dokumentation geschaut, aber nicht verstanden.
Ich hatte genau die gleiche Frage, froh, dass ich das gefunden –