遇到了这个内存错误。但我所参考的书籍/链接中并没有出现这个错误。
代码的一部分:
from sklearn.linear_model import SGDClassifiersgd_clf = SGDClassifier()sgd_clf.fit(x_train, y_train)
错误:MemoryError: Unable to allocate 359. MiB for an array with shape (60000, 784) and data type float64
当我尝试使用StandardScaler的fit_transform缩放数据时,也会遇到这个错误
但是如果我减少训练集的大小(例如:x_train[:1000]
,y_train[:1000]
),这两个操作都能正常工作
书中代码的链接在这里:这里。我遇到的错误在第60行和第63行(In [60]
和 In [63]
)
书籍:Aurélien Géron – Hands-On Machine Learning with Scikit-Learn Keras and Tensorflow 第二版(页面:149 / 1130)
所以我的问题是:
这是否与我的内存有关?“无法分配359”是什么意思?这是内存大小吗?
以防万一,我的规格是:CPU – ryzen 2400g,内存 – 8GB(使用jupyter notebook时有3.1GB空闲)
回答:
升级到64位的Python似乎解决了所有的“内存错误”问题。