我想在Keras训练我的模型,所以试图将图像加载为numpy数组并调整它们的大小,但它失败了,因为我没有足够的内存。
MemoryError when I normalize images by img/255
我的任务是语义分割。我有两个文件夹。一个用于输入图像,另一个用于所需的输出图像。相应的图像具有相同的名称。
Keras中是否有有用的API?
答案 0 :(得分:0)
是的,您应该使用生成器和fit_generator
函数来训练它。基本上在生成器函数中,您可以自由地加载数据和数量,因此您可以在模型训练时加载数据,并且一次只在内存中保留一批数据(加上使用的队列)通过Keras)。
答案 1 :(得分:0)
对于预处理部分:是否可以选择小批量加载图像,进行预处理并将其再次保存在一个文件中? 通常在预处理之后,图像应该更小,甚至可能足够小,以便完全加载到内存中进行训练。
此外,您可以使用model API中的train_on_batch或fit_generator函数。然后你可以训练图像,而不必同时将它们全部存储在内存中。