Keras神经网络:使用检查点或使用save_weights保存权重?

时间:2017-11-01 13:14:24

标签: networking keras

所以我有一个简单的问题。我有两种方法来保存我正在运行的卷积神经网络的权重。

1)我可以在运行fit函数时执行以下操作:

ModelCheckpoint('weights.{epoch:03d}-{val_acc:.4f}.hdf5', monitor='val_acc', verbose=1, save_best_only=True, mode='auto')

,文件以13MB结尾。

2)我可以在fit函数完成后完成:

model.save_weights('final weights123123.hdf5')

,文件以近4MB结尾。

然后,测试集上的结果与两个文件相同。所以我的问题是:文件有13MB和4MB的原因是什么?也许我失去了一些信息。

1 个答案:

答案 0 :(得分:1)

您可以阅读here - 当您使用save_model方法保存模型时,不仅可以保存重量,还可以保存:

  • 模型的架构,允许重新创建模型,
  • 训练配置(损失,优化器),
  • 优化器的状态,允许您从中断的位置恢复训练。

使用save_weights,您只保存带有权重值的numpy数组。