gpt4 book ai didi

neural-network - Keras ImageDataGenerator 慢

转载 作者:行者123 更新时间:2023-12-04 15:40:53 24 4
gpt4 key购买 nike

我正在寻找在 Keras 中训练大于内存数据的最佳方法,目前注意到普通 ImageDataGenerator 往往比我希望的要慢。

我在 Kaggle 猫 vs 狗数据集(25000 张图像)上进行了两个网络训练:

1) 这种方法正是来自:http://www.pyimagesearch.com/2016/09/26/a-simple-neural-network-with-python-and-keras/ 的代码

2) 与 (1) 相同,但使用 ImageDataGenerator 而不是将数据加载到内存中

注意:对于下面,“预处理”意味着调整大小,缩放,展平

我在 gtx970 上发现以下内容:

对于网络 1,每个 epoch 需要大约 0 秒。

对于网络 2,如果在数据生成器中进行预处理,则每个 epoch 需要大约 36 秒。

对于网络 2,如果预处理是在数据生成器之外的第一遍中完成的,则每个 epoch 需要大约 13 秒。

这可能是 ImageDataGenerator 的速度限制(13 秒似乎是磁盘和内存之间通常的 10-100 倍差异......)?使用 Keras 时,是否有更适合训练大于内存数据的方法/机制?
例如也许有办法让 Keras 中的 ImageDataGenerator 在第一个纪元之后保存其处理过的图像?

谢谢!

最佳答案

我想你可能已经解决了这个问题,但是……

Keras 图像预处理可以选择通过设置 save_to_dir 来保存结果。 flow() 中的参数或 flow_from_directory()功能:

https://keras.io/preprocessing/image/

关于neural-network - Keras ImageDataGenerator 慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41071842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com