我有两个关于 ImageDataGenerator 的问题:
1)整批图像是否使用相同的增强,或者每个图像都有自己的随机变换?
例如对于旋转,模块是否以相同的角度旋转批次中的所有图像,或者每个图像获得随机旋转角度?
2)ImageDataGenerator.flow中的数据无限循环(批量)。有没有办法停止这个无限循环,即仅进行 n 次增强。因为我需要在每个步骤(不是每个纪元)中修改batch_size。
谢谢
回答来自弗朗索瓦·肖莱 https://github.com/fchollet:
1)整批图像是否使用相同的增强,或者每个图像都有自己的随机变换?例如对于旋转,模块是否以相同的角度旋转批次中的所有图像,或者每个图像获得随机旋转角度?
每个样本都有不同的独特变换(例如,在一定范围内随机旋转)。
2)ImageDataGenerator.flow中的数据无限循环(批量)。有没有办法停止这个无限循环,即仅进行 n 次增强。因为我需要在每个步骤(不是每个纪元)中修改batch_size。谢谢
不清楚这里是什么意思。但如果你正在使用model.fit_generator(ImageDataGenerator.flow())
那么你可以指定samples_per_epoch=...
仅从生成器中产生特定数量的样本。如果您想要批次级粒度,您可以这样做:
for x, y in model.fit_generator(ImageDataGenerator.flow()):
model.train_on_batch(x, y)
在这种情况下,你可以break
(这是一个循环)在您想要的任意数量的批次之后。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)