keras: Early Stopping与CheckPoint代码使用

本文介绍了在Keras中如何使用Early Stopping和CheckPoint来优化模型训练。通过设置参数如`monitor`、`patience`和`mode`,Early Stopping可以在验证损失不再下降时停止训练。同时,利用CheckPoint可以在每个epoch后保存最佳模型的权重,以防止训练中断导致的进度丢失。在训练模型时,可以结合Early Stopping和CheckPoint回调以提高模型性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from keras.callbacks import EarlyStopping
early_stopping = EarlyStopping(monitor='val_loss',patience=100) 
optimizer = keras.optimizers.Adam()
model.compile(loss='categorical_crossentropy',
                  optimizer=optimizer,
                  metrics=['accuracy'])   
hist = model.fit(x_train, Y_train, batch_size=batch_size, nb_epoch=nb_epochs,
              verbose=1, validation_data=(x_test, Y_test),callbacks=[early_stopping])

参数:

  • monitor:需要监视的量(需要监视的loss,val_loss,acc,val_acc)
  • patience:当early stop被激活(如发现loss相比上一个epoch训练没有下降),则经过patience个epoch后停止训练。一般情况设置此值较大些,因为神经网络学习本来就不稳定,只有加大些才能获得“最优”解。
  • verbose:信息展示模式
  • mode:‘auto’,‘min’,‘max’之一,在min模式下,如果检测值停止下降则中止训练。在max模式下,当检测值不再上升则停止训练。默认为mode。

最后,当监测值不在改善时,该回调函数将终止训练

 

如果模型训练意外中断怎么办?

1.首先在model.complie之后加入代码实现每一次epoch保存最好的参数


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值