如何使用 Keras 执行离线图像增强?
Posted
技术标签:
【中文标题】如何使用 Keras 执行离线图像增强?【英文标题】:How to perform offline image augmentation using Keras? 【发布时间】:2019-11-25 20:19:21 【问题描述】:我想在我的数据集中对不同的图像类执行离线图像增强,并将图像保存到其中一个文件夹中,然后再开始创建模型。
使用具有save_to_dir
的 Keras ImageDataGenerator - flow_from_directory()
并将其值设置为我的目标文件夹
datagen = ImageDataGenerator(
rescale=1./255,
shear_range=0.2,
zoom_range=0.2,
horizontal_flip=True)
datagen_set = datagen.flow_from_directory(
'C:/Users/...',
target_size=(64, 64),
batch_size=32,
classes = ['class_A'],
save_to_dir = 'C:/Users/.../AugImages',
save_prefix = 'class_A',
save_format = 'jpg')
我是否必须创建我的模型并使用它的 fit_generator/fit
方法,或者在创建模型之前是否有任何其他方式来执行离线图像增强?
【问题讨论】:
【参考方案1】:如果您想保存增强图像,您需要定义一个模型并使用fit/fit_generator
。请注意,datagen_set
是一个迭代器,因此您可以使用 next
方法从迭代器中获取值。
for i in range(no_iter):
image, label = next(datagen_set)
上面的代码会将batch_size*no_iter
的图片保存到save_to_dir
。
【讨论】:
以上是关于如何使用 Keras 执行离线图像增强?的主要内容,如果未能解决你的问题,请参考以下文章
使用 ImageDataGenerator 进行 Keras 数据增强(您的输入没有数据)
如何使用 Keras(增强、拆分)预处理我的 ImageDataset
如何使用 AdaBoost 增强基于 Keras 的神经网络?