MemoryError:无法分配形状为(2515,406272)且数据类型为float32的数组

问题描述 投票:0回答:2

我正在尝试使用Anaconda的Spyder上的CNN进行指关节识别。我正在处理2515张图像,似乎8 GB不足以执行此操作。我能做什么?我应该再买一块RAM还是在Kaggle / Colab上进行这个项目会是更好的方法?

arr = np.array(finger_dat)
arr = arr.reshape((2515, 406272))

arr = arr / 255

#############Making dataset####################

label = np.array(range(503))
label = np.repeat(label, 5)

dataset = pd.DataFrame(arr)
dataset['label'] = label

X = dataset.iloc[:, 0:406272]
y = dataset.iloc[:, -1]

from sklearn.tree import DecisionTreeClassifier
dtf = DecisionTreeClassifier()
dtf.fit(X, y)

dtf.score(X, y)
python machine-learning deep-learning out-of-memory ram
2个回答
0
投票

尝试分批处理数据。

请查看此文档。来自sklearn:Strategies to scale computationally: bigger data


0
投票

在您的位置,我将按此顺序尝试:

可乐,更改代码以加载批次更改代码以使用数据库来提供训练购买更多的ram,但您可能需要> 40Gb。

© www.soinside.com 2019 - 2024. All rights reserved.