keras中的early stopping

目的:防止过拟合

  1. # early stoppping

  2. from keras.callbacks import EarlyStopping

  3. early_stopping = EarlyStopping(monitor='val_loss', patience=50, verbose=2)

  4. # 训练

  5. 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模式下,当检测值不再上升的时候则停止训练。