小数组的Numpy内存错误:无法分配359。Win 10上阵列的MiB

2024-04-24 21:59:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试使用来自here的代码构建一个elm,但是我遇到的问题并不是elm特有的:当运行该行时

X_train = scaler.fit_transform(train.values[:, 1:])

使用sklearn MinMaxScaler,我得到以下错误:

numpy.core._exceptions.MemoryError: Unable to allocate 359. MiB for an array with shape (60000, 784) and data type float64

它告诉我它不能分配359。MiB用于相对较小的矩阵。前面的行仅用于附加设置,如链接中的示例所示,因此不应将内存使用量最大化。我有大量的RAM(16GB,运行代码时大约10GB未使用),所以我不知道发生了什么。我想它是不允许使用更多的内存的,但我不知道为什么或者该怎么做

我在没有虚拟机的Windows 10上运行代码。使用控制台和在PyCharm中运行控制台都会产生此错误

你知道问题出在哪里吗


Tags: 内存代码corenumpyhere错误transformtrain
1条回答
网友
1楼 · 发布于 2024-04-24 21:59:25

64位Python

(见问题下方的评论)

答案是,我的path和PyCharm运行配置上都有一个32位python解释器。将其更改为64位版本修复了它,因此与使用32位解释器的float64相比,内存不足的问题更少

相关问题 更多 >