np.array 的 MemoryError

数据挖掘 Python 朱庇特 麻木的
2021-10-07 07:23:25

我在 Ubuntu 16.04 上尝试 Keras CNN Stater 代码,来自以下链接: https ://www.hackerearth.com/challenge/competitive/deep-learning-3/machine-learning/predict-the-energy-used-612632a9 /#c144537

我得到“MemoryError:”

X_train = np.array(train_img, np.float32) / 255.

有什么想法,我该怎么办?

1个回答

MemoryError 正是它的意思,您的 RAM 内存不足,无法执行代码。

发生此错误时,很可能是因为您已将整个数据加载到内存中。对于大型数据集,您将需要使用批处理与其将整个数据集加载到内存中,不如将数据保存在硬盘中并分批访问。如果您使用的是 Keras,那么有一个帮助类可以非常有效地实现批处理。看看这篇博文这是避免 MemoryError 的一个很好的起点。


作为短期修复,您可以使用可用数据的子集训练模型并丢弃其余数据。然而,这样做确实是一种耻辱。