首页 > 解决方案 > Keras to_json(),它保存了什么?

问题描述

我的印象是它只保存了模型的架构,所以我应该可以在开始训练之前调用它?然后save_weights()保存恢复模型所需的权重?对此有更多详细信息吗?

在什么阶段我可以打电话to_json()?即我必须先打电话compile()吗?可以之前fit()吗?

标签: pythonjsonkeras

解决方案


Keras 文档中所述,它仅保存模型的架构:

仅保存/加载模型的架构

如果您只需要保存模型的架构,而不是其权重或训练配置,您可以执行以下操作:

# save as JSON
json_string = model.to_json()

# save as YAML
yaml_string = model.to_yaml()

生成的 JSON / YAML 文件是人类可读的,如果需要可以手动编辑。

然后,您可以根据这些数据构建一个新模型:

# model reconstruction from JSON:
from keras.models import model_from_json
model = model_from_json(json_string)

# model reconstruction from YAML
from keras.models import model_from_yaml
model = model_from_yaml(yaml_string)

推荐阅读