圖像預處理
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: 生成數組使用的數據類型。