麻烦理解tensorflow shuffle_batch enqueue_many = False

时间:2018-01-02 21:06:50

标签: python tensorflow

我正在阅读Tensorflow文档和Cifar10示例的代码。这一点目前正在绞尽脑汁:

# Creates batches of 32 images and 32 labels.
image_batch, label_batch = tf.train.shuffle_batch(
  [single_image, single_label],
  batch_size=32,
  num_threads=4,
  capacity=50000,
  min_after_dequeue=10000)

我们正在传递单个图像,并以某种方式一批图像结果?这是怎么回事?

1 个答案:

答案 0 :(得分:1)

single_imagesingle_label张量通常指的是从队列中检索下一个值的操作。为了创建批处理,它将例如从那些张量中检索值的批量大小(例如32),如果它没有被洗牌的话。如果它被洗牌,它将在min_after_dequeuecapacity值之间进行检索。

请注意,现在建议的方法是使用Dataset API代替。虽然它也会以非常相似的方式工作。