2016-12-19 10 views
7

W CIFAR-10 TensorFlow samouczku I napotkał następujący wiersz:Jak tf.train.batch stworzyć partię

images, label_batch = tf.train.batch(
     [image, label], 
     batch_size=batch_size, 
     num_threads=num_preprocess_threads, 
     capacity=min_queue_examples + 3 * batch_size) 

Funkcja tf.train.batch() wydaje się brać jako wejście tylko jedno zdjęcie i jeden etykiecie. W jaki sposób tworzy się partię z wieloma obrazami?

Odpowiedz

7

Przyjmuje dane wejściowe pary [image, label], że tak, to jedna para. tf.train.batch tworzy jednak wewnętrznie kolejkę. Gwinty num_threads będą gromadzić pary w kolejce do momentu osiągnięcia capacity.

Operacje images, label_batch są dequeue.

Pamiętaj, że jesteś definiowanie obliczeniowej wykres, dlatego pary [image, label] reprezentują dwa węzły wykresu i na różne prawdziwe parę image, label swojego zestawu treningowego, popłynie przez te węzły. W ten sposób tf.train.batch może przechwytywać przepływ obrazów i etykiet oraz wypełniać kolejkę.

+2

Jak mogę wydrukować bieżące obrazy, które są zapisywane na potrzeby szkolenia? Używam slim.learning.train w formie podobnej do podanej tutaj https://github.com/tensorflow/models/blob/master/slim/slim_walkthough.ipynb –