相当小的数组的 Numpy 内存错误:无法为 Win 10 上的数组分配 359.MiB

Numpy Memory Error with rather small array: Unable to allocate 359. MiB for an array on Win 10

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

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。之前的几行仅用于额外的设置,如 link 中的示例,因此不应使内存使用量达到最大。我有足够的 RAM(16GB,运行 代码时大约有 10GB 未使用)所以我不明白发生了什么。我猜想以某种方式不允许使用更多 RAM,但我不知道为什么或该怎么做。

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

知道问题出在哪里吗?

64 位 Python

(见问题下方的评论)

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