图像预处理
ImageDataGenerator 类
keras.preprocessing.image.ImageDataGenerator(featurewise_center=False,
samplewise_center=False,
featurewise_std_normalization=False,
samplewise_std_normalization=False,
zca_whitening=False,
zca_epsilon=1e-06,
rotation_range=0,
width_shift_range=0.0,
height_shift_range=0.0,
brightness_range=None,
shear_range=0.0,
zoom_range=0.0,
channel_shift_range=0.0,
fill_mode='nearest',
cval=0.0,
horizontal_flip=False,
vertical_flip=False,
rescale=None,
preprocessing_function=None,
data_format=None,
validation_split=0.0,
dtype=None)
通过实时数据增强生成张量图像数据批次。数据将不断循环(按批次)。
参数
- featurewise_center: 布尔值。将输入数据的均值设置为 0,逐特征进行。
- samplewise_center: 布尔值。将每个样本的均值设置为 0。
- featurewise_std_normalization: Boolean. 布尔值。将输入除以数据标准差,逐特征进行。
- samplewise_std_normalization: 布尔值。将每个输入除以其标准差。
- zca_epsilon: ZCA 白化的 epsilon 值,默认为 1e-6。
- zca_whitening: 布尔值。是否应用 ZCA 白化。
- rotation_range: 整数。随机旋转的度数范围。
- width_shift_range: 浮点数、一维数组或整数
- float: 如果 <1,则是除以总宽度的值,或者如果 >=1,则为像素值。
- 1-D 数组: 数组中的随机元素。
- int: 来自间隔
(-width_shift_range, +width_shift_range)
之间的整数个像素。 width_shift_range=2
时,可能值是整数[-1, 0, +1]
,与width_shift_range=[-1, 0, +1]
相同;而width_shift_range=1.0
时,可能值是[-1.0, +1.0)
之间的浮点数。
- height_shift_range: 浮点数、一维数组或整数
- float: 如果 <1,则是除以总宽度的值,或者如果 >=1,则为像素值。
- 1-D array-like: 数组中的随机元素。
- int: 来自间隔
(-height_shift_range, +height_shift_range)
之间的整数个像素。 height_shift_range=2
时,可能值是整数[-1, 0, +1]
,与height_shift_range=[-1, 0, +1]
相同;而height_shift_range=1.0
时,可能值是[-1.0, +1.0)
之间的浮点数。
- shear_range: 浮点数。剪切强度(以弧度逆时针方向剪切角度)。
- zoom_range: 浮点数 或
[lower, upper]
。随机缩放范围。如果是浮点数,[lower, upper] = [1-zoom_range, 1+zoom_range]
。 - channel_shift_range: 浮点数。随机通道转换的范围。
- fill_mode: {"constant", "nearest", "reflect" or "wrap"} 之一。默认为 'nearest'。输入边界以外的点根据给定的模式填充:
- 'constant': kkkkkkkk|abcd|kkkkkkkk (cval=k)
- 'nearest': aaaaaaaa|abcd|dddddddd
- 'reflect': abcddcba|abcd|dcbaabcd
- 'wrap': abcdabcd|abcd|abcdabcd
- cval: 浮点数或整数。用于边界之外的点的值,当
fill_mode = "constant"
时。 - horizontal_flip: 布尔值。随机水平翻转。
- vertical_flip: 布尔值。随机垂直翻转。
- rescale: 重缩放因子。默认为 None。如果是 None 或 0,不进行缩放,否则将数据乘以所提供的值(在应用任何其他转换之前)。
- preprocessing_function: 应用于每个输入的函数。这个函数会在任何其他改变之前运行。这个函数需要一个参数:一张图像(秩为 3 的 Numpy 张量),并且应该输出一个同尺寸的 Numpy 张量。
- data_format: 图像数据格式,{"channels_first", "channels_last"} 之一。"channels_last" 模式表示图像输入尺寸应该为
(samples, height, width, channels)
,"channels_first" 模式表示输入尺寸应该为(samples, channels, height, width)
。默认为 在 Keras 配置文件~/.keras/keras.json
中的image_data_format
值。如果你从未设置它,那它就是 "channels_last"。 - validation_split: 浮点数。Float. 保留用于验证的图像的比例(严格在0和1之间)。
- dtype: 生成数组使用的数据类型。