1.ReduceLROnPlateau
keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.1, patience=10, verbose=0, mode='auto', epsilon=0.0001, cooldown=0, min_lr=0)
当评价指标不在提升时,减少学习率
当学习停滞时,减少2倍或10倍的学习率常常能获得较好的效果。该回调函数检测指标的情况,如果在patience个epoch中看不到模型性能提升,则减少学习率

2.ModelCheckpoint
keras.callbacks.ModelCheckpoint(filepath,monitor='val_loss',verbose=0,save_best_only=False, save_weights_only=False, mode='auto', period=1)
filepath:字符串,保存模型的路径(可以将模型的准确率和损失等写到路径中,格式如下:)
ModelCheckpoint('model_check/'+'ep{epoch:d}-acc{acc:.3f}- val_acc{val_acc:.3f}.h5',monitor='val_loss')
还可以添加损失值等如 ‘loss{loss:.3f}-val_loss{val_loss:.3f}’
monitor:需要检测的值如测试集损失或者训练集损失等
save_best_only:当设置为True时,监测值有改进时才会保存当前的模型
verbose:信息展示模式,0或1
mode:‘auto’,‘min’,‘max’之一,在save_best_only=True时决定性能最佳模型的评判准则,
例如,当监测值为val_acc时,模式应为max,当监测值为val_loss

本文介绍了Keras中的三个重要回调函数:ReduceLROnPlateau用于在评价指标不再提升时减少学习率;ModelCheckpoint用于在监测值达到最佳时保存模型;EarlyStopping则在监测值不再改善时提前终止训练。详细解释了各个参数的作用和使用场景。
最低0.47元/天 解锁文章
1923

被折叠的 条评论
为什么被折叠?



