1.模型权重和图
保存
#保存模型权重
model.save_weights("model_weights.h5")
#保存图
with open('graph.json', 'w') as f:
f.write(model.to_json())
加载
from keras.models import model_from_json
# 加载图
with open('ph.json', 'r') as f:
model = model_from_json(f.read())
# 加载权重
model.load_weights('model_weights.h5')
注:你也可以不加载模型图文件,直接代码里定义模型。
2.同时操作权重和图
保存
# 保存整个模型
model.save('my_model.h5')
加载
from keras.models import load_model
# 生成一个compile过的的模型,可以直接进行预测
model = load_model('my_model.h5')
目前觉得第二种方法比较方便,可以直接使用完整的模型文件加载模型后,进行模型的线上部署,发布服务,但是它也会把一些线上部署不需要的数据load进来,比如training的配置和optimizer的state。