当我没有足够的内存来加载所有训练数据时如何在 Keras 中训练
How to train in Keras when I don't have enough memory for loading all training data
我想在 Keras 中训练我的模型,所以尝试将图像加载为 numpy 数组并调整它们的大小,但失败了,因为我没有足够的内存。
MemoryError when I normalize images by img/255
我的任务是语义分割。我有两个文件夹。一个用于输入图像,另一个用于所需的输出图像。对应图片同名
Keras 中有API有用的吗?
是的,您应该使用生成器和 fit_generator
函数来训练它。基本上在生成器函数中,您可以自由决定如何加载数据和加载数据的数量,因此您可以在模型训练时加载数据,并且一次只在内存中保留一批数据(加上使用的队列由 Keras)。
对于预处理部分:是否可以选择小批量加载图像,进行预处理并再次以每批处理一个文件的方式保存它们?
通常在预处理后图像应该更小,甚至可能小到足以完全加载到内存中进行训练。
此外,您可以使用 model API 中的 train_on_batch 或 fit_generator 函数。然后你可以训练图像而不用同时 in-memory。
我想在 Keras 中训练我的模型,所以尝试将图像加载为 numpy 数组并调整它们的大小,但失败了,因为我没有足够的内存。
MemoryError when I normalize images by img/255
我的任务是语义分割。我有两个文件夹。一个用于输入图像,另一个用于所需的输出图像。对应图片同名
Keras 中有API有用的吗?
是的,您应该使用生成器和 fit_generator
函数来训练它。基本上在生成器函数中,您可以自由决定如何加载数据和加载数据的数量,因此您可以在模型训练时加载数据,并且一次只在内存中保留一批数据(加上使用的队列由 Keras)。
对于预处理部分:是否可以选择小批量加载图像,进行预处理并再次以每批处理一个文件的方式保存它们? 通常在预处理后图像应该更小,甚至可能小到足以完全加载到内存中进行训练。
此外,您可以使用 model API 中的 train_on_batch 或 fit_generator 函数。然后你可以训练图像而不用同时 in-memory。