python-3.x - tensorflow 数据集缓存交叉验证
问题描述
我有一个非常昂贵的数据管道。我想用来tf.data.Dataset.cache
将第一个纪元数据集缓存到磁盘。然后加快进程。我这样做而不是将数据集保存到 tfrecords 的原因是 1)我每次都更改许多参数进行处理,动态缓存它对我来说更方便 2)我正在做交叉验证所以我不知道要处理哪些文件
我有一个天真的解决方案 - 为训练文件的每一折创建一个管道,但这需要大量空间来缓存(我正在做 10 折),总共相当于 1TB。
有没有其他方法可以在空间和时间上更有效地做到这一点?
解决方案
回答我自己的问题,为此,我可以为每个文件创建一个管道,将每个管道缓存在磁盘上,将它们放入 deque,然后使用tf.data.experimental.sample_from_datasets
.
推荐阅读
- javascript - 我应该在我的电子应用程序中使用上下文隔离吗
- reactjs - 如何使用带有 SELECT-OPTION 标签的 React-Translate-Component
- java - Spring - 依赖注入 - 哪个优先?
- kubernetes - 为一个写入器和多个读取器配置 PVC
- android - Firebase 动态链接未按预期工作
- javascript - 如何将 id / className / refs 分配给输入框,然后使用 React 在变量中调用它?
- python - Elbow Plot - ValueError:x 和 y 必须具有相同的第一维
- python - azure.servicebus.common.errors.ServiceBusConnectionError:无法打开处理程序:无法在连接时打开身份验证会话
- node.js - 如何使用 NodeJs 和 Bazel 为 gRPC 设置 Kubernetes 健康检查?(grpc-健康探测)
- gremlin - Gremlin 查询边缘历史