我有一个非常昂贵的数据管道。我想使用tf.data.Dataset.cache
将第一个纪元数据集缓存到磁盘。然后加快该过程。我这样做而不是将数据集保存到tfrecords中的原因是
1)我每次都在处理中更改许多参数,因此对它进行动态缓存更加方便
2)我正在进行交叉验证,所以我不知道要处理哪些文件
我有一个幼稚的解决方案-为训练文件的每一折创建一个管道,但是要缓存的空间很大(我正在做10折),相当于总共1TB。
还有其他方法可以在空间和时间上更有效地做到这一点吗?
答案 0 :(得分:0)
回答我自己的问题,为此,我可以为每个文件创建一个管道,将每个管道缓存在磁盘上,将它们放入双端队列,然后使用tf.data.experimental.sample_from_datasets
。