如何在不重新构建数据集的情况下读取tensorflow数据集缓存



我创建了一个具有相当复杂转换的数据集(tf.data.Dataset(,并将其缓存到一个文件中。我的问题是,如何在不重新构建数据集对象的情况下再次读取该数据集的内容。例如:

import tensorflow as tf
tf.enable_eager_execution()
db = tf.data.Dataset.range(10)
db = db.cache('/tmp/range')
for v in db:
print(v)
# /tmp/range.data-00000-of-00001  /tmp/range.index files are created
# later, you could restore the dataset from a method like this:
new_db = tf.data.Dataset.from_cache('/tmp/range')

这个想法是在另一个上下文中构建数据集,并在不构建我以前拥有的复杂输入管道的情况下使用它。

我敢肯定,如果您完成了一个读取数据集的历元,那么下次开始新的训练时,即使您对管道进行了更改,它仍然会从该缓存文件中读取。

最新更新