更改Keras中的优化程序alghoritm

时间:2017-11-06 19:40:45

标签: neural-network keras

如果在Keras中更改优化器,则需要再次编译模型。此编译将覆盖所学习的网络权重。我知道如何保存重量,但我不知道如何为网络恢复它们。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

以下是YouTube视频,其中详细说明了您想要做的事情:Save and load a Keras model

如何加载模型权重取决于您保存模型或模型权重的方式。 Keras提供三种不同的保存方法。这些在上面的视频链接(带有示例)以及下面的描述中进行了描述。

  1. model.save('my_model.h5')功能保存:

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

    要加载此已保存的模型,请使用以下命令:

    from keras.models import load_model
    new_model = load_model('my_model.h5')
    
  2. model.to_json()函数仅保存模型的体系结构。这将保存权重。要加载此已保存的模型,您将使用以下内容:

    json_string = model.to_json()
    
    from keras.models import model_from_json
    model = model_from_json(json_string)
    
  3. model.save_weights('my_model_weights.h5')函数仅保存模型的权重。要将这些保存的权重加载到模型,您将使用以下内容:

    model.load_weights('my_model_weights.h5')