我经常搜索这个。在keras文档中,它说model.save()保存所有相关信息,即模型架构,权重,优化器状态,......
stackoverflow上的其他一些帖子,提到保存权重并在将来加载它们以恢复训练,但答案说这是错误的,因为它没有保存优化器状态。 我使用回调来保存最佳模型基础验证准确性,它只保存权重。
如果重量不足以恢复训练,为什么回叫只能保存重量?仅用于评估测试集?
如何妥善保存最佳型号呢?为什么不回调使用model.save()来存储所有信息?我怎样才能做到这一点?
答案 0 :(得分:1)
根据Keras ModelCheckPointCallback
文档,它会根据save_weights_only
标记保存整个模型或仅保存权重,默认情况下为False
。
答案 1 :(得分:1)
肯定会model.save()
,因为您已经提到了所有原因。在ModelCheckPoint
回调中,save_weights_only=false
可以做到。如果您想节省空间或避免混乱,请设置save_best_only=True
。这等效于model.save()
。
如果权重不足以恢复训练,为什么回叫仅节省权重?只是为了评估测试集?
是的。