我已经编写了用于“机器学习”任务的软件。
为此,我需要将大量数据加载到程序的RAM中(用于所需的“拟合”功能)。
实际上,在口语运行中,“ load_Data”函数应返回2个“ ndarrays”(来自“ numpy”库),其大小约为float64类型的12,000至110,000。
在运行过程中出现内存错误。
我在一个较小的数据集(2,000 x 110,000数组)上测试了该程序,它确实可以正常工作。
我考虑过2种解决方案:
1.使用具有更多RAM的计算机(现在我正在使用8 GB RAM)。
2.以“适合”方式使用10次,每次都在所有其他部位
数据集。
所以,我想问:
解决方案2是一个好的解决方案吗?
还有更多解决方案吗?
非常感谢。
答案 0 :(得分:3)
当然,第一个解决方案非常好,但是相当昂贵。但是,一旦拥有数百GB的数据集,您将要做什么?对于大多数消费者来说,购买如此多的RAM是禁止的。
实际上,批处理(如您所暗示的)是在非常大的数据集上进行训练的最常见方法。大多数机器学习工具包都允许您批量提供数据。由于您尚未暗示要使用哪一个,因此我将按照the Keras documentation进行设置。
对scikit-learn
进行Edit ,您可以在here中查找支持批量处理的估算器列表。