ImageDataGenerator
- ImageDataGenerator是keras.preprocessing.image模块中的图片生成器,同时也可以在batch中对数据进行增强,扩充数据集大小,增强模型的泛化能力。比如进行旋转,变形,归一化等等。
from keras.preprocessing.image import ImageDataGenerator
image_datagen = ImageDataGenerator(**aug_dict)
-flow(self, X, y, batch_size=32, shuffle=True, seed=None, save_to_dir=None, save_prefix='', save_format='png')
-flow_from_directory(directory)
ImageDataGenerator
- rotation_range=40 旋转
- width_shift_range=0.2 水平平移
- height_shift_range=0.2 垂直平移
- shear_range=0.2 透视变换
- zoom_range=0.2 缩放范围
- horizontal_flip=True 水平反转
- fill_mode 填充模式, constant, nearest, reflect
- rescale: 值将在执行其他处理前乘到整个图像上 (rescale=1./255)
flow
- X: 样本数据,秩应为4.在黑白图像的情况下channel轴的值为1,在彩色图像情况下值为3
- y: 标签
flow_from_directory
- directory: 文件夹路径,该路径下要包含一个子文件夹
- classes: 子文件夹的列表
- class_mode: “categorical”, “binary”, "sparse"或None之一。默认为"categorical。该参数决定了返回的标签数组的形式, "categorical"会返回2D的one-hot编码标签;"binary"返回1D的二值标签;"sparse"返回1D的整数标签;如果为None则不返回任何标签, 生成器将仅仅生成batch数据, 这种情况在使用model.predict_generator()和model.evaluate_generator()等函数时会用到。
- color_mode: 颜色模式,“grayscale”,“rgb”,默认为"rgb"。代表这些图片被转换为单通道或三通道的图片。
- arget_size: 整数tuple,默认为(256, 256)。图像将被resize成该尺寸。
- batch_size: batch数据的大小,默认32。
- save_to_dir: None或路径,是否将处理后的图片保存起来。
- save_prefix: 字符串,保存处理后图片时使用的前缀。
- save_format: “png"或"jpeg”,指定保存图片的数据格式,默认"jpeg"。
- shuffle: 是否打乱数据,默认为True。
- seed: 打乱数据和进行变换时的随机数种子 。