Keras,优化时保存状态的最佳方法

时间:2016-05-10 03:40:11

标签: python keras

我只是想知道在优化模型时保存模型状态的最佳方法是什么。我想这样做,所以我可以运行它一段时间,保存它,并在一段时间后再回到它。我知道有一个保存权重的函数和另一个将模型保存为JSON的函数。在学习过程中,我需要保存模型的权重和参数。这包括动量和学习率等参数。有没有办法在同一个文件中保存模型和权重。我读到使用泡菜不是一种好习惯。也可以将JEG模型或权重中的graident一般包括在内吗?

2 个答案:

答案 0 :(得分:5)

from keras.models import load_model

model.save('my_model.h5')  # creates a HDF5 file 'my_model.h5'
del model  # deletes the existing model

# returns a compiled model
# identical to the previous one
model = load_model('my_model.h5')
  

您可以使用model.save(filepath)将Keras模型保存为单个模型   HDF5文件将包含:

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

然后,您可以使用keras.models.load_model(filepath)重新实例化您的模型。 load_model还将使用保存的训练配置来编译模型(除非模型从未编译过。)

Keras常见问题:How can I save a Keras model?

答案 1 :(得分:2)

您可以创建包含权重和体系结构的tar存档,以及包含model.optimizer.get_state()返回的优化程序状态的pickle文件。