考虑到is possible to run tf.Data.Datasets
处于急切的执行模式,我应该如何在急切的执行中打开TFRecord文件?我更关心解析器编写,因为我目前正在使用dataset.make_one_shot_iterator
作为迭代器(在我的容器上的几个图像之间)。
在TensorFlow 1.8之后,您可以自然地在启用了急切执行的情况下迭代tf.data.Dataset
对象。
ds = tf.data.TFRecordDataset(...).map(...).batch(...)
for x in ds:
print(x)
make_one_shot_iterator
也将工作(继续努力保持与图形构造的等效代码兼容):
ds = tf.data.TFRecordDataset(...).map(...).batch(...)
itr = ds.make_one_shot_iterator()
for x in itr:
print(x)
但是,在旧版本的TensorFlow中(急切执行是一个新引入的功能,因而不那么烘焙),您必须使用以下内容将数据集包装在tf.contrib.eager.Iterator
中:
tfe tf.contrib.eager
ds = tf.data.TFRecordDataset(...).map(...).batch(...)
for x in tfe.Iterator(ds):
print(x)
请参阅与1.7版本相关的这些资源: - Notebook - RNN example
希望有所帮助。