我已经对此进行了大量搜索。在Keras的文档中提到,model.save() 会保存所有相关信息,即模型架构、权重、优化器状态等…
Stackoverflow上的其他帖子提到保存权重并在将来加载它们以恢复训练,但答案指出这是错误的,因为它没有保存优化器状态。我使用回调来根据验证准确率保存最佳模型,但它只保存权重。
如果权重不足以恢复训练,为什么回调只保存权重?只是为了在测试集上进行评估吗?
那么,我该如何正确地保存最佳模型呢?为什么回调不使用model.save()来存储所有信息?我如何实现这一点?
回答:
根据Keras的ModelCheckPointCallback
文档,它会根据save_weights_only
标志保存整个模型或仅保存权重,该标志默认值为False
。