数据增强:keras ImageDataGenerator vs 手动加载和增强

Fal*_*nUA 3 machine-learning computer-vision deep-learning keras tensorflow

我正在 Tensorflow 中训练一个模型,我想实现一个有效的在线数据增强,我希望它工作得足够快,这样它就不会成为训练的瓶颈(这样数据就会更快地馈送到 GPU比模型在 GPU 上的前后循环)。然而,我以前有过使用 Keras 的经验,它ImageDataGenerator似乎工作得非常整洁。所以我的问题是:

我应该使用 KerasImageDataGenerator吗,仅仅因为它的?它是否比我使用 OpenCV 可能实现的更快(考虑到 Keras 缺少一些我可能需要的功能,但我不确定我是否真的需要它们)?

或者,如果您不能肯定地回答,请分享您的数据增强优化经验。如果您曾经对类似的东西进行过基准测试(比较速度性能),也请分享。任何帮助表示赞赏。提前致谢。

PS:数据是从硬盘加载的。

pho*_*esh 5

只是张贴这个以防有人觉得这有帮助。

我建议看看imgaug。您可以使用 pip 安装它:

pip install imgaug
Run Code Online (Sandbox Code Playgroud)

根据我的经验,它有很多增强选项,而且速度非常快,但我不知道它是否适合您的需要。你可能想检查一下。

这里有些例子: 在此处输入图片说明