2015-10-05 59 views
3

我有一些非常大的数据集,我想加载到火炬中。但是在我运行我的学习算法之前,我无法将它们完全加载到内存中。Torch 7如何加载不适合内存的非常大的数据集?

我应该怎么做才能最大限度地提高性能?

+0

请问它有可能你使用原始数据集的子集? –

+0

是的,但会太慢吗?每次进行小批量处理时,都必须等待缓慢的I/O。缓冲区会有帮助吗? – user2173168

+0

我对火炬并不太熟悉。像R和MATLAB这样的工具可以在内存中运行。所以在数据集中读取是一种惩罚,但在此之后,这是一帆风顺的。 –

回答

6

看看imagenet-multiGPU.torch全栈示例代码。它包含一个数据加载器(dataset.lua)能够在从预加载一切防止内存中的时间来品尝一批图像:

local inputs, labels = trainLoader:sample(opt.batchSize) 

(见train.lua了解详细信息)

相关问题