memory-management之数据集不适合内存

无情 阅读:173 2024-05-22 17:00:29 评论:0

我有一个 MNIST像不适合内存的数据集,(进程内存, 不是 GPU 内存)。
我的数据集是 4GB。

这不是 TFLearn问题。

据我所知model.fit需要 阵列 xy .

TFLearn 示例:
model.fit(x, y, n_epoch=10, validation_set=(val_x, val_y))
我想知道有没有一种方法可以传递“批处理迭代器”而不是数组。
基本上对于每个批次,我都会从磁盘加载必要的数据。

这样我就不会遇到进程内存溢出错误。

编辑 np.memmap可能是一个选择。但我不知道如何跳过组成标题的前几个字节。

请您参考如下方法:

您可以使用 Dataset api .
“数据集 API 支持多种文件格式,因此您可以处理无法放入内存的大型数据集”
基本上,输入管道将成为图形的一部分。
如果内存仍然是一个问题,那么您可以使用生成器来创建您的 tf.data.Dataset .此外,您可以通过准备 tfrecords 来创建数据集,从而加快流程。


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号