微调Keras模型

时间:2017-05-09 12:13:58

标签: tensorflow keras

我正在使用CNN进行面部表情识别。我正在使用Keras和Tensorflow作为后端。我的模型保存为h5格式。

我想重新训练我的网络,并使用VGG模型微调我的模型。

我怎么能用keras做到这一点?

2 个答案:

答案 0 :(得分:3)

保存模型架构和权重:

json_string = model.to_json()
model.save_weights('model_weights.h5')

加载模型架构和权重:

from keras.models import model_from_json
model = model_from_json(json_string)
model.load_weights('model_weights.h5')

从这里再次开始训练以进行微调。我希望这会有所帮助。

答案 1 :(得分:1)

您可以使用Keras model.save(filepath)功能。

本YouTube视频中的示例讨论了各种Keras保存和加载技术的详细信息:Save and load a Keras model

model.save(filepath)保存:

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

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

from keras.models import load_model
new_model = load_model(filepath)

如果您使用model.to_json(),则只会保存模型的体系结构。此外,如果您使用model.save_weights(),则只能保存模型的权重。使用这两种替代保存技术,您不会保存训练配置(丢失,优化器),也不会保存优化器的状态。