keras中的early stopping
目的:防止过拟合
-
# 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模式下,当检测值不再上升的时候则停止训练。