tf.train.batch如何创建批处理

时间:2016-12-19 07:32:47

标签: tensorflow

在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()似乎仅将一个图像和一个标签作为输入。然后如何创建具有多个图像的批处理?

1 个答案:

答案 0 :(得分:7)

它输入了[image, label]对,是的,它是一对。但是,tf.train.batch会在内部创建一个队列。 <{1}}个线程会将这些对累积到队列中,直到达到num_threads

capacity实际上是出列操作。

请记住,您正在定义计算图,因此对images, label_batch代表图的两个节点以及训练集的[image, label]的各种真实对,将流过这些节点。通过这种方式,image, label可以捕获图像和标签的流量并填充队列。