2016-12-19 4 views
7

В CIFAR-10 TensorFlow урока я столкнулся следующую строку:Как tf.train.batch создать партию

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

Функция tf.train.batch(), кажется, принимает в качестве входных данных только один изображения и одна метка. Как же создать пакет с несколькими изображениями?

ответ

7

Требуется ввести пару [image, label], что, да, это единственная пара. tf.train.batch, однако, создает внутреннюю очередь. Потоки num_threads будут накапливать пары в очереди до тех пор, пока не будет достигнуто значение capacity.

images, label_batch действительно являются операциями dequeue.

Помните, что вы определяете вычислительный граф, поэтому пары [image, label] представляют два узла графа и различную реальной пару image, label вашего обучающего набора, будет течь через эти узлы. Таким образом, tf.train.batch может захватывать поток изображений и меток и заполнять очередь.

+2

Как распечатать текущие изображения, которые отменяются для обучения? Я использую slim.learning.train в форме, подобной приведенной здесь. Https://github.com/tensorflow/models/blob/master/slim/slim_walkthough.ipynb –

Смежные вопросы