在keras进行训练的时候我们可能对模型本身,权重,或者整体都有不同的需要,因此在使用keras进行model文件保存与载入的时候采取不同的方法。
1. 仅保存模型本身
1.1 json文件:方便我们去查看
model_json=model.to_json()
with open('model.json','w') as f:
f.write(model_json)
最后我们便可以查看json文件,阅读模型的本身
从json文件中载入模型:
json_file=open('model.json','r')
load_model_json=json_file.read()
json_file.close()
loaded_model=model_from_json(load_model_json)
1.2 Yaml文件:(没有阅读过)
yaml=model.to_yaml()
2. 保存权重的方法
model.save_weights('model.h5')#(保存为.h5的格式)
加载模型权重
loaded_model.load_weights("model.h5")
3. 保存模型以及权重的方法
from keras.models import load_model
model.save('model.h5')
加载模型以及权重
model=load_model('%%%.h5')
4. finetuning或者transfer-learning
model.load_weights('my_model_weights.h5', by_name=True)
参考博客:https://blog.csdn.net/u011692048/article/details/77686208
https://blog.csdn.net/u010159842/article/details/54407745
具体看:keras_model.py文件