回调函数tensorflow.keras.callbacks
一、ModelCheckpoint
1、ModelCheckpoint作用
该回调函数将在每个epoch后保存模型到filepath
2、使用
导包
from tensorflow.keras.callbacks import ModelCheckpoint
使用
keras.callbacks.ModelCheckpoint(filepath,
monitor='val_loss',
verbose=0,
save_best_only=False,
save_weights_only=False,
mode='auto',
period=1)
filepath:保存模型的路径,字符串
monitor:需要监视的值,通常为val_acc、val_loss、acc、loss
verbose:信息展示模式。1为显示,0为不显示
save_best_only:为True时只保存验证集上性能最好的模型
mode:auto/min/max,在save_best_only=True时决定性能最佳模型的评判准则,例如,当监测值为val_acc时,模式应为max,当检测值为val_loss时,模式应为min。在auto模式下,评价准则由被监测值的名字自动推断。
period:CheckPoint之间的间隔的epoch数
二、自适应LearningRate
1、作用
该回调函数用于动态设置学习率
2、使用
导包
from tensorflow.keras.callbacks import LearningRateScheduler
使用
三、ReduceLROnPlateau
1、目的
更新学习率
2、使用
导包
from tensorflow.keras.callbacks import ReduceLROnPlateau
4、EarlyStopping早停法
4.1、概念
根据监控指标,当模型训练在指定epoch次都没有提升的情况下,提前停止训练。
4.2、导包
from tensorflow.keras.callbacks import EarlyStopping
4.3、参数
(34条消息) DL(5) - ModelCheckPoint 和 EarlyStopping 详解(你不知道的细节)_英俊强健的博客-CSDN博客_modelcheckpoin
monitor :用于监控模型训练的指标,eg:val_acc、val_loss。
min_delta :监控值提升的最小变化量,当小于此值时视为没有提升。默认:0
verbose :显示信息详细程度。0为不显示,1为显示信息。
patience :指定忍受模型没有改善的epoch次数。
mode {’auto’,‘min’,’max’}中一种,选择min时将监控monitor不再减少则停止,选择max时将监控monitor不在增加则停止、auto值将根据monitor的名字自动推断。
restore_best_weights :若为True,将会取整个训练过程中最佳监控值的epoch训练结果作为最终模型权值,否则将以最后一次epoch的结果作为最终模型权值。