繁体   English   中英

当我没有足够的内存来加载所有训练数据时,如何在Keras中训练

[英]How to train in Keras when I don't have enough memory for loading all training data

我想在Keras中训练我的模型,因此尝试将图像加载为numpy数组并调整其大小,但由于我没有足够的内存而失败了。

当我通过img / 255标准化图像时出现MemoryError

我的任务是语义分割。 我有两个文件夹。 一个用于输入图像,另一个用于所需的输出图像。 对应的图像具有相同的名称。

Keras中有有用的API吗?

是的,您应该使用生成器和fit_generator函数进行训练。 基本上,在生成器函数中,您对如何加载数据和加载数量有很大的自由度,因此可以在训练模型时加载数据,并且一次仅将一批数据保留在内存中(加上使用的队列)由Keras)。

对于预处理部分:是否可以选择以小批量加载图像,进行预处理并以每批方式将其再次保存在一个文件中? 通常,在预处理之后,图像应该更小甚至可能足够小以完全加载到内存中进行训练。

另外,您可以使用模型 API中的train_on_batch或fit_generator函数。 然后,您可以训练图像而无需将它们同时存储在内存中。

暂无
暂无

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

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