使用tf.train.shuffle_batch多次循环数据

时间:2016-07-24 16:40:16

标签: tensorflow

我正在使用张量流来练习mnist数据集,该数据集有55,000张训练图像(来自mnist的原始60,000张图像中的5,000张图像被保留用于验证)。

目前我正在使用tf.TFRecordReader读取训练tf.record,然后使用tf.train.shuffle_batch进行训练输入。此过程可以在https://bitbucket.org/jackywang529/tesorflow-sandbox/src中的mnist.py中的输入函数中找到。

但是,在步骤2720之后我继续收到以下错误。

tensorflow.python.framework.errors.OutOfRangeError: RandomShuffleQueue '_1_input/shuffle_batch/random_shuffle_queue' is closed and has insufficient elements (requested 100, current size 0)

因此我有两个问题:

  1. 为什么在步骤2720之后呢?鉴于每一步都需要100个批次,我有55,000个训练图像?如果超出范围,不应该在步骤550左右这样做吗?

  2. 如何使用tf.train.shuffle_batch永久循环数据集?我不确定它是否是由shuffle_batch实现设置的限制或其他内容。

  3. 谢谢!

1 个答案:

答案 0 :(得分:2)

您是否检查过tf.train.string_input_producer是否有num_epochs=None参数,以便无限期循环?