首页 > 解决方案 > tensorflow 数据集缓存交叉验证

问题描述

我有一个非常昂贵的数据管道。我想用来tf.data.Dataset.cache将第一个纪元数据集缓存到磁盘。然后加快进程。我这样做而不是将数据集保存到 tfrecords 的原因是 1)我每次都更改许多参数进行处理,动态缓存它对我来说更方便 2)我正在做交叉验证所以我不知道要处理哪些文件

我有一个天真的解决方案 - 为训练文件的每一折创建一个管道,但这需要大量空间来缓存(我正在做 10 折),总共相当于 1TB。

有没有其他方法可以在空间和时间上更有效地做到这一点?

标签: python-3.xtensorflowtensorflow-datasets

解决方案


回答我自己的问题,为此,我可以为每个文件创建一个管道,将每个管道缓存在磁盘上,将它们放入 deque,然后使用tf.data.experimental.sample_from_datasets.


推荐阅读