如何保存Keras模型以便将来恢复训练?

我已经对此进行了大量搜索。在Keras的文档中提到,model.save() 会保存所有相关信息,即模型架构、权重、优化器状态等…

Stackoverflow上的其他帖子提到保存权重并在将来加载它们以恢复训练,但答案指出这是错误的,因为它没有保存优化器状态。我使用回调来根据验证准确率保存最佳模型,但它只保存权重。

如果权重不足以恢复训练,为什么回调只保存权重?只是为了在测试集上进行评估吗?

那么,我该如何正确地保存最佳模型呢?为什么回调不使用model.save()来存储所有信息?我如何实现这一点?


回答:

根据Keras的ModelCheckPointCallback文档,它会根据save_weights_only标志保存整个模型或仅保存权重,该标志默认值为False

https://keras.io/callbacks/#modelcheckpoint

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注