数据增强生成器: train_datagen = ImageDataGenerator(rescale=1. / 255, #归一化 rotation_range=10, #旋转角度 width_shift_range=0.1, #水平偏移 height_shift_range=0.1, #垂直偏移 shear_range=0.1, #随机错切变换的角度 zoom_range=0.1, #随机缩放的范围 horizontal_flip=False, #随机将一半图像水平翻转 fill_mode='nearest') #填充像素的方法
test_datagen = ImageDataGenerator(rescale=1. / 255) #不增强验证数据
train_generator = train_datagen.flow_from_directory(directory=train_dir, #训练文件路径--文件夹下多分类文件夹 target_size=(30, 30), #图像统一尺寸 batch_size=nbatch_size, #batch数据的大小,默认32 class_mode='categorical')#返回标签数组形式 'binary'二进制;
validation_generator = test_datagen.flow_from_directory(directory=validation_dir, target_size=(30, 30), batch_size=nbatch_size, class_mode='categorical')
model.fit_generator( train_generator, steps_per_epoch=25*6//nbatch_size, #整数,当生成器返回steps_per_epoch次数据时计一个epoch结束,执行下一个epoch epochs=nepochs, #整数,数据迭代的轮数 validation_data=validation_generator, validation_steps=50) #当validation_data为生成器时,本参数指定验证集的生成器返回次数