我已经搜索了很多。在 keras 文档中,它说 model.save(( 保存所有相关信息,即模型架构、权重、优化器状态,...
Stackoverflow 上的其他一些帖子提到保存权重并在将来加载它们以恢复训练,但答案说这是错误的,因为它没有保存优化器状态。我使用回调来保存最佳模型基础 om 验证准确性,它只节省权重。
如果重量不足以恢复训练,为什么回调只能节省重量?只是为了在测试集上进行评估?
那么如何正确保存最佳模型呢?为什么回调不使用 model.save(( 来存储所有信息?我怎样才能做到这一点?
Keras ModelCheckPointCallback
文档,它根据默认False
save_weights_only
标志保存整个模型或仅保存权重。
https://keras.io/callbacks/#modelcheckpoint
由于您已经提到的所有原因,绝对model.save()
。在ModelCheckPoint
回调中,save_weights_only=false
会这样做。如果要节省一些空间或避免混乱,请设置save_best_only=True
。这相当于model.save()
.
如果重量不足以恢复训练,为什么回调只能节省重量?只是为了在测试集上进行评估?
是的。