在CIFAR-10 TensorFlow教程中,我遇到了以下行:
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()
似乎仅将一个图像和一个标签作为输入。然后如何创建具有多个图像的批处理?
答案 0 :(得分:7)
它输入了[image, label]
对,是的,它是一对。但是,tf.train.batch
会在内部创建一个队列。 <{1}}个线程会将这些对累积到队列中,直到达到num_threads
。
capacity
实际上是出列操作。
请记住,您正在定义计算图,因此对images, label_batch
代表图的两个节点以及训练集的[image, label]
的各种真实对,将流过这些节点。通过这种方式,image, label
可以捕获图像和标签的流量并填充队列。