数据集不适合内存

时间:2017-10-09 00:26:20

标签: memory-management tensorflow out-of-memory tflearn

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

这不是TFLearn问题。

据我所知model.fit xy需要数组

TFLearn示例:

model.fit(x, y, n_epoch=10, validation_set=(val_x, val_y))

我想知道是否有一种方法可以传递“批处理迭代器”而不是数组。 基本上对于每个批次,我都会从磁盘加载必要的数据。

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

修改 np.memmap可以是一种选择。但是我没有看到如何跳过组成标题的前几个字节。

1 个答案:

答案 0 :(得分:1)

您可以使用Dataset api

“ Dataset API支持多种文件格式,因此您可以处理内存中不适合的大型数据集”

基本上,输入管道将成为图形的一部分。

如果仍然存在内存问题,则可以使用生成器来创建tf.data.Dataset。此外,您可以通过准备tfrecords来创建数据集来加快该过程。