目的:防止過擬合
-
# early stoppping
-
from keras.callbacks import EarlyStopping
-
early_stopping = EarlyStopping(monitor= 'val_loss', patience=50, verbose=2)
-
# 訓練
-
history = model.fit(train_X, train_y, epochs= 300, batch_size=20, validation_data=(test_X, test_y), verbose=2, shuffle=False, callbacks=[early_stopping])
monitor: 需要監視的量,val_loss,val_acc
patience: 當early stop被激活(如發現loss相比上一個epoch訓練沒有下降),則經過patience個epoch后停止訓練
verbose: 信息展示模式
mode: 'auto','min','max'之一,在min模式訓練,如果檢測值停止下降則終止訓練。在max模式下,當檢測值不再上升的時候則停止訓練。