从 Tensorflow 1.8.0 升级到 1.11.0 后,每个时期都会记录 OutOfRangeError

OutOfRangeError logged at each epoch after upgrade from Tensorflow 1.8.0 to 1.11.0

我有一个 TfRecordsDataset:

...
dataset = dataset.batch(batch_size)
dataset = dataset.prefetch(buffer_size=tf.contrib.data.AUTOTUNE)
dataset_iterator = dataset.make_initializable_iterator()
(...) = dataset_iterator.get_next()

然后是标准:

test_session.run(dataset_iterator.initializer)
while not done:
    try:
        ... = test_session.run([...])
        batch_count += 1
    except tf.errors.OutOfRangeError:
        done = True

这与 Tensorflow 1.8.0 完美配合。今天把Tensorflow升级到TF 11.1.0,现在报错: OutOfRangeError: End of sequence [[{{node dataset/IteratorGetNext}} = IteratorGetNext

在一个纪元的每一端。错误本身实际上被捕获,但错误被打印在控制台上。有人可以指出实际发生的事情吗?

问题已在 TF 1.12.0 中解决。