TensorFlow中使用tf.keras.callbacks.EarlyStopping防止訓練過擬合


TensorFlow tf.keras.callbacks.EarlyStopping

當模型訓練次數epoch設置到100甚至更大時,如果模型的效果沒有進一步提升,那么訓練可以提前停止,繼續訓練很可能會導致訓練過擬合,而EarlyStopping就是用來提前結束訓練的。

參數 描述
monitor 被監測的數據。
min_delta 在被監測的數據中被認為是提升的最小變化, 例如,小於 min_delta 的絕對變化會被認為沒有提升。
patience 沒有進步的訓練輪數,在這之后訓練就會被停止。
verbose 詳細信息模式。
mode {auto, min, max} 其中之一。 在 min 模式中, 當被監測的數據停止下降,訓練就會停止;在 max 模式中,當被監測的數據停止上升,訓練就會停止;在 auto 模式中,方向會自動從被監測的數據的名字中判斷出來。
baseline 要監控的數量的基准值。 如果模型沒有顯示基准的改善,訓練將停止。
restore_best_weights 是否從具有監測數量的最佳值的時期恢復模型權重。 如果為 False,則使用在訓練的最后一步獲得的模型權重。

 

TensorFlow中Earlystopping使用方法

import tensorflow as tf 
early_stopping=tf.keras.callbacks.EarlyStopping(monitor='val_loss', min_delta=0,
                              patience=0, verbose=0, mode='auto',
                              baseline=None, restore_best_weights=False)

model.fit(callbacks = [early_stopping])

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM