深度学习tips5_保存训练效果最好的模型
5.mode:‘auto’,‘min’,‘max’之一,在save_best_only=True时决定性能最佳模型的评判准则,例如,当监测值为val_acc时,模式应为max,当检测值为val_loss时,模式应为min。1.filename:字符串,保存模型的路径,filepath可以是格式化的字符串,里面的占位符将会被epoch值和传入on_epoch_end的logs关键字所填入。2.mon
本篇是搬运,参考连接:
深度学习之早停策略EarlyStopping以及保存测试集准确率最高的模型ModelCheckpoint-CSDN博客
主要记录一下如何保存训练效果最好的模型:
使用ModelCheckpoint
函数:
tf.keras.callbacks.ModelCheckpoint(filepath,
monitor='val_loss',
verbose=0,
save_best_only=False,
save_weights_only=False,
mode='auto',
period=1)
参数说明:
1.filename:字符串,保存模型的路径,filepath可以是格式化的字符串,里面的占位符将会被epoch值和传入on_epoch_end的logs关键字所填入。
例如:filepath = “weights_{epoch:03d}-{val_loss:.4f}.h5”,则会生成对应epoch和测试集loss的多个文件。
2.monitor:需要监视的值,通常为:val_acc 、 val_loss 、 acc 、 loss四种。
3.verbose:信息展示模式,0或1。为1表示输出epoch模型保存信息,默认为0表示不输出该信息。
4.save_best_only:当设置为True时,将只保存在测试集上性能最好的模型。
5.mode:‘auto’,‘min’,‘max’之一,在save_best_only=True时决定性能最佳模型的评判准则,例如,当监测值为val_acc时,模式应为max,当检测值为val_loss时,模式应为min。在auto模式下,评价准则由被监测值的名字自动推断。
6.save_weights_only:若设置为True,则只保存模型权重,否则将保存整个模型(包括模型结构,配置信息等)。
7.period:CheckPoint之间的间隔的epoch数。
使用例子:
from tensorflow.keras.callbacks import ModelCheckpoint, Callback, EarlyStopping
checkpointer = ModelCheckpoint('best_model.h5',
monitor='val_accuracy',
verbose=0,
save_best_only=True,
save_weights_only=True,
mode = 'max')
#调用
train_model = model.fit(train_ds,
epochs=epochs,
validation_data=test_ds,
callbacks=[earlystopper, checkpointer]#<-看这儿)
更多推荐




所有评论(0)