是)我有的:
我有一个数据集(35989 行 × 16109 列),很遗憾是保密的。
但我收到此错误消息:
Unable to allocate 4.32 GiB for an array with shape (16109, 35994) and data type float64
我怎么解决这个问题?
我有一个数据集(35989 行 × 16109 列),很遗憾是保密的。
但我收到此错误消息:
Unable to allocate 4.32 GiB for an array with shape (16109, 35994) and data type float64
我怎么解决这个问题?
假设您无法向计算机添加更多内存(或释放一些内存),您可以尝试 2 种通用方法:
仅将部分数据读入内存,例如行或列的子集。
将数据的精度从 降低float64到float32。
从您的错误来看,您似乎正在将数据加载到一个 numpy 数组中,因此在您的代码中的某处,您需要将此参数添加到数组创建步骤中,例如 np.array(your_data, dtype=np.float32).
我不认为这是一个速率限制问题,也不是max_buffer_sizeTornado(Jupyter 背后的库)的问题。
您可以尝试使用名为的工具来查看您的机器是否真的内存不足htop- 只需htop在终端中执行(或者sudo apt install htop如果尚未安装,则首先执行)。这显示了您机器上可用的内存 (RAM) 总量,它看起来像这样:
此示例显示机器有 16 个内核和 62.5 Gb 内存 - 其中 6.14 Gb 已被占用。
在运行代码时观看该视图。如果内存条在崩溃前已满,则说明您的 RAM 已用完。