更加科学保存模型
keras如何更加科学的保存训练好的模型呢?
使用Callbacks回调函数中的ModelCheckpoint
filepath = 'model-ep{epoch:03d}-loss{loss:.3f}-val_loss{val_loss:.3f}.h5'
checkpoint = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=True, mode='min')
这样设置会生成多个h5文件,若filepath='mymodel.h5’则只会生成一个文件,同时save_best_only打开之后,如果val_loss 提高了就会保存,没有提高就不会保存。
不太懂? 接下来细细讲
keras模型包括model和weight两个部分
保存model方法一 JSON文件:
model_json = model.to_json()
with open("model.json", "w") as json_file:
json_file.write(model_json)
保存model方法二 Yaml文件:
yaml_string = model.to_yaml()
保存weight方法一 h5文件:
model.save_weights("modelweight.h5")
同时保存model和weight
model.save('model.h5')
加载model:
#json model load
json_file = open('model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
loaded_model = model_from_json(loaded_model_json)
#h5 model load
from keras.models import load_model
model = load_model('model.h5')
#weight load
loaded_model.load_weights("model.h5")
Keras训练历史记录保存,导入,绘制acc或者loss曲线
训练:
model.</