【TensorFlow2.0】ImageDataGenerator使用
一、作用:
ImageDataGenerator()是keras.preprocessing.image模块中的图片生成器,同时也可以在batch中对数据进行增强,扩充数据集大小,增强模型的泛化能力。比如进行旋转,变形,归一化等等。还可以自动为训练数据生成标签。
总结起来就是三个点:
(1)图片生成器,负责生成一个批次一个批次的图片,以生成器的形式给模型训练;
(2)对每一个批次的训练图片,适时地进行数据增强处理(data augmentation);
(3)自动为训练数据生成标签
二、ImageDataGenerator简单介绍:
ImageDataGenerator()参数
featurewise_center: Boolean. 对输入的图片每个通道减去每个通道对应均值。它针对的是数据集dataset,
samplewise_center: Boolan. 每张图片减去样本均值, 使得每个样本均值为0。它针对的是单个输入图片的本身
featurewise_std_normalization(): Boolean()
samplewise_std_normalization(): Boolean()
zca_epsilon(): Default 12-6
zca_whitening: Boolean. 去除样本之间的相关性
rotation_range(): 旋转范围
width_shift_range(): 水平平移范围
height_shift_range(): 垂直平移范围
shear_range(): float, 透视变换的范围
zoom_range(): 缩放范围
fill_mode: 填充模式, constant, nearest, reflect
cval: fill_mode == 'constant'的时候填充值
horizontal_flip(): 水平反转
vertical_flip(): 垂直翻转
preprocessing_function(): user提供的处理函数
data_format(): channels_first或者channels_last
validation_split(): 多少数据用于验证集
ImageDataGenerator()方法:
apply_transform(x, transform_parameters):根据参数对x进行变换
fit(x, augment=False, rounds=1, seed=None): 将生成器用于数据x,从数据x中获得样本的统计参数, 只有featurewise_center, featurewise_std_normalization或者zca_whitening为True才需要
flow(x, y=None, batch_size=32, shuffle=True, sample_weight=