如何增加 Jupyter 的内存?

数据挖掘 机器学习 Python 朱庇特
2022-02-23 14:15:01

是)我有的:

我有一个数据集(35989 行 × 16109 列),很遗憾是保密的。

但我收到此错误消息:

Unable to allocate 4.32 GiB for an array with shape (16109, 35994) and data type float64

我怎么解决这个问题?

1个回答

假设您无法向计算机添加更多内存(或释放一些内存),您可以尝试 2 种通用方法:

  1. 仅将部分数据读入内存,例如行或列的子集。

  2. 将数据的精度从 降低float64float32

从您的错误来看,您似乎正在将数据加载到一个 numpy 数组中,因此在您的代码中的某处,您需要将此参数添加到数组创建步骤中,例如 np.array(your_data, dtype=np.float32).

编辑:

我不认为这是一个速率限制问题,也不是max_buffer_sizeTornado(Jupyter 背后的库)的问题。

您可以尝试使用名为的工具来查看您的机器是否真的内存不足htop- 只需htop在终端中执行(或者sudo apt install htop如果尚未安装,则首先执行)。这显示了您机器上可用的内存 (RAM) 总量,它看起来像这样:

htop 示例 此示例显示机器有 16 个内核和 62.5 Gb 内存 - 其中 6.14 Gb 已被占用。

在运行代码时观看该视图。如果内存条在崩溃前已满,则说明您的 RAM 已用完。