我在处理大量的图像
然而,当用python枕头解压缩时,python由于内存不足而停止。
所以我只是切片图像和训练模型
例如
模型的准确性有什么不同吗?
谢谢
发布于 2020-10-27 18:18:54
图像数据往往占用大量的内存。通常,如果您尝试将所有图像作为一个大数据集处理,您将得到内存耗尽错误。为了处理这一问题,数据作为图像的“批次”积累,并在训练过程中作为输入依次提供给模型。通常使用生成器来完成这一任务。例如,假设您有10,000个训练图像,比如300×300 rgb像素。这是一个变化很大的数据。因此,与其尝试一次处理所有10,000幅图像,不如将其分批处理。batch_size可用于定义一次处理和存储在内存中的图像数量。例如,如果将batch_size设置为50,则需要200个连续批处理所有图像,用于一个训练阶段。200是steps_per_epoch在model.fit中的名字。如果您愿意,您可以创建自己的生成器,但是keras提供了几个API,可以为您做到这一点。这是这里。文档,我更喜欢使用ImageDataGenerator.flow_from_directory来提供所需的批处理生成,但也提供图像增强。批处理大小可以在一定程度上影响模型的性能,并影响培训时间。典型的小批处理使得训练持续时间更长,并且在每一个时期的度量中都会产生更大的差异,但在避免陷入局部极小值方面有一些优势。较大的批次大小往往会缩短整个培训时间。我通常使用不同的批处理大小进行几次运行,以查看模型的性能是否有显著的变化。
https://stackoverflow.com/questions/64548602
复制相似问题