在做图像识别时,经常会遇到图像数据扩增的相关问题,今天刚好有时间,写下点东西。
Keras中给我们提供了一个ImageDataGenerator函数,通过这个函数的参数,分析在程序中如何实现
# 导包
from keras.preprocessing.image import ImageDataGenerator
# 利用ImageDataGenerator构建一个图像生成器
generator = ImageDataGenerator(rotation_range=20, # 随机翻转角度
width_shift_range=0.2, # 水平偏移幅度
height_shift_range=0.2, # 垂直偏移幅度
horizontal_flip=True, # 水平镜像
vertical_flip=True, # 垂直镜像
fill_mode="constant")
# 使用fit_generator来实现数据增强
model.fit_generator(generator.flow(x_train,y_train,batch_size=64),epochs=20,
steps_per_epoch=len(X_train) // 64, callbacks=[checkpoint, learning_rate_reduction],
validation_data=generator.flow(X_test, Y_test, batch_size=64, shuffle=True),
validation_steps=len(X_test) // 64
)