【问题标题】:Python 3.6: Deal with MemoryErrorPython 3.6:处理 MemoryError
【发布时间】:2019-01-25 10:37:09
【问题描述】:

我为“机器学习”任务编写了一个软件。

为此,我需要将大量数据加载到程序的 RAM 中(用于所需的“适合”功能)。
实际上,在口语运行中,'load_Data' 函数应该返回 2 个 'ndarrays'(来自 'numpy' 库),大小约为 12,000 到 110,000 的 float64 类型。

我在运行期间遇到内存错误。
我在一个较小的数据集(2,000 x 110,000 数组)上测试了该程序,它确实可以正常工作。

我想到了两个解决方案:
1. 使用 RAM 更大的计算机(现在我使用的是 8 GB RAM)。
2. 使用 'fit' 方法 10 次,每次都在另一部分 数据集。

所以,我想问:
解决方案 #2 是一个好的解决方案吗?
还有更多解决方案吗?

非常感谢。

【问题讨论】:

    标签: python machine-learning python-3.6 large-data


    【解决方案1】:

    当然,第一个解决方案非常好,但相当昂贵。但是,一旦您拥有数百 GB 的数据集,您会怎么做?对于大多数消费者来说,购买这么多内存是令人望而却步的。

    确实,批处理(正如您所暗示的)是在非常大的数据集上进行训练的最常用方法。大多数机器学习工具包允许您分批提供数据。由于您没有暗示您使用哪一个,我将遵从例如the Keras documentation 了解如何设置。

    编辑scikit-learn,可以查看here 以获得支持批处理的估算器列表。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-22
    • 2017-07-30
    • 2019-01-07
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    相关资源
    最近更新 更多