繁体   English   中英

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

[英]MemoryError: Unable to allocate array with shape (2515, 406272) and data type float32

我正在尝试使用 CNN 在 Anaconda 上的 Spyder 上进行指关节识别。 我有 2515 张图像要处理,但 8 GB 似乎不足以执行此操作。 我能做什么? 我应该再买一块内存还是在 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)

尝试批量处理数据。

看看这个文档。 来自 sklearn: 计算扩展策略:更大的数据

在你的地方,我会按这个顺序尝试:

colab,更改代码以加载批次更改代码以使用数据库为火车提供动力购买更多内存,但您可能需要> 40Gb。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM