Keras Data augmentation(数据扩充)
生活随笔
收集整理的這篇文章主要介紹了
Keras Data augmentation(数据扩充)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?????? 在深度學(xué)習(xí)中,我們經(jīng)常需要用到一些技巧(比如將圖片進(jìn)行旋轉(zhuǎn),翻轉(zhuǎn)等)來進(jìn)行data augmentation, 來減少過擬合。 在本文中,我們將主要介紹如何用深度學(xué)習(xí)框架keras來自動的進(jìn)行data augmentation。
keras.preprocessing.image.ImageDataGenerator(featurewise_center=False,samplewise_center=False,featurewise_std_normalization=False,samplewise_std_normalization=False,zca_whitening=False,zca_epsilon=1e-6,rotation_range=0.,width_shift_range=0.,height_shift_range=0.,shear_range=0.,zoom_range=0.,channel_shift_range=0.,fill_mode='nearest',cval=0.,horizontal_flip=False,vertical_flip=False,rescale=None,preprocessing_function=None,data_format=K.image_data_format())- 生成批次的帶實時數(shù)據(jù)增益的張量圖像數(shù)據(jù)。數(shù)據(jù)將按批次無限循環(huán)。
- 參數(shù):
- featurewise_center: 布爾值。將輸入數(shù)據(jù)的均值設(shè)置為 0,逐特征進(jìn)行。
- samplewise_center: 布爾值。將每個樣本的均值設(shè)置為 0。
- featurewise_std_normalization: 布爾值。將輸入除以數(shù)據(jù)標(biāo)準(zhǔn)差,逐特征進(jìn)行。
- samplewise_std_normalization: 布爾值。將每個輸入除以其標(biāo)準(zhǔn)差。
- zca_epsilon: ZCA 白化的 epsilon 值,默認(rèn)為 1e-6。
- zca_whitening: 布爾值。應(yīng)用 ZCA 白化。
- rotation_range: 整數(shù)。隨機(jī)旋轉(zhuǎn)的度數(shù)范圍。
- width_shift_range: 浮點(diǎn)數(shù)(總寬度的比例)。隨機(jī)水平移動的范圍。
- height_shift_range: 浮點(diǎn)數(shù)(總高度的比例)。隨機(jī)垂直移動的范圍。
- shear_range: 浮點(diǎn)數(shù)。剪切強(qiáng)度(以弧度逆時針方向剪切角度)。
- zoom_range: 浮點(diǎn)數(shù) 或 [lower, upper]。隨機(jī)縮放范圍。如果是浮點(diǎn)數(shù),[lower, upper] = [1-zoom_range, 1+zoom_range]。
- channel_shift_range: 浮點(diǎn)數(shù)。隨機(jī)通道轉(zhuǎn)換的范圍。
- fill_mode: {"constant", "nearest", "reflect" or "wrap"} 之一。輸入邊界以外的點(diǎn)根據(jù)給定的模式填充:
- "constant": kkkkkkkk|abcd|kkkkkkkk (cval=k)
- "nearest": aaaaaaaa|abcd|dddddddd
- "reflect": abcddcba|abcd|dcbaabcd
- "wrap": abcdabcd|abcd|abcdabcd
- cval: 浮點(diǎn)數(shù)或整數(shù)。用于邊界之外的點(diǎn)的值,當(dāng) fill_mode = "constant" 時。
- horizontal_flip: 布爾值。隨機(jī)水平翻轉(zhuǎn)。
- vertical_flip: 布爾值。隨機(jī)垂直翻轉(zhuǎn)。
- rescale: 重縮放因子。默認(rèn)為 None。如果是 None 或 0,不進(jìn)行縮放,否則將數(shù)據(jù)乘以所提供的值(在應(yīng)用任何其他轉(zhuǎn)換之前)。
- preprocessing_function: 應(yīng)用于每個輸入的函數(shù)。這個函數(shù)會在任何其他改變之前運(yùn)行。這個函數(shù)需要一個參數(shù):一張圖像(秩為 3 的 Numpy 張量),并且應(yīng)該輸出一個同尺寸的 Numpy 張量。
- data_format: {"channels_first", "channels_last"} 之一。"channels_last" 模式表示輸入尺寸應(yīng)該為 (samples, height, width, channels),"channels_first" 模式表示輸入尺寸應(yīng)該為 (samples, channels, height, width)。默認(rèn)為 在 Keras 配置文件 ~/.keras/keras.json 中的 image_data_format 值。如果你從未設(shè)置它,那它就是 "channels_last"。
- 方法:
- fit(x): 根據(jù)一組樣本數(shù)據(jù),計算與數(shù)據(jù)相關(guān)轉(zhuǎn)換有關(guān)的內(nèi)部數(shù)據(jù)統(tǒng)計信息。當(dāng)且僅當(dāng) featurewise_center 或 featurewise_std_normalization 或 zca_whitening 時才需要。
- flow(x, y): 傳入 Numpy 數(shù)據(jù)和標(biāo)簽數(shù)組,生成批次的 增益的/標(biāo)準(zhǔn)化的 數(shù)據(jù)。在生成的批次數(shù)據(jù)上無限制地?zé)o限次循環(huán)。
- flow_from_directory(directory): 以目錄路徑為參數(shù),生成批次的 增益的/標(biāo)準(zhǔn)化的 數(shù)據(jù)。在生成的批次數(shù)據(jù)上無限制地?zé)o限次循環(huán)。
其他注意api:
compile
compile(self, optimizer, loss, metrics=None, loss_weights=None, sample_weight_mode=None, weighted_metrics=None, target_tensors=None)用于配置訓(xùn)練模型。
fit
fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)以固定數(shù)量的輪次(數(shù)據(jù)集上的迭代)訓(xùn)練模型。
fit_generator
fit_generator(self, generator, steps_per_epoch=None, epochs=1, verbose=1, callbacks=None, validation_data=None, validation_steps=None, class_weight=None, max_queue_size=10, workers=1, use_multiprocessing=False, shuffle=True, initial_epoch=0)使用 Python 生成器逐批生成的數(shù)據(jù),按批次訓(xùn)練模型。
evaluate
evaluate(self, x=None, y=None, batch_size=None, verbose=1, sample_weight=None, steps=None)在測試模式下返回模型的誤差值和評估標(biāo)準(zhǔn)值。
evaluate_generator
evaluate_generator(self, generator, steps=None, max_queue_size=10, workers=1, use_multiprocessing=False)在數(shù)據(jù)生成器上評估模型。
predict
predict(self, x, batch_size=None, verbose=0, steps=None)為輸入樣本生成輸出預(yù)測。
predict_generator
predict_generator(self, generator, steps=None, max_queue_size=10, workers=1, use_multiprocessing=False, verbose=0)為來自數(shù)據(jù)生成器的輸入樣本生成預(yù)測。
- https://keras.io/zh/preprocessing/image/
總結(jié)
以上是生活随笔為你收集整理的Keras Data augmentation(数据扩充)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 80端口被system(pid=4)占用
- 下一篇: leetcode-125-Valid P