您好,登錄后才能下訂單哦!
如何將訓練好的網絡進行保存,我們可以用pickle或cPickle來保存Keras模型,同時我們可以用下面的方法:
一、保存整個模型
model.save(filepath)將Keras模型和權重保存在一個HDF5文件中,該文件將包含:
模型的結構
模型的權重
訓練配置(損失函數,優化器,準確率等)
優化器的狀態,以便于從上次訓練中斷的地方
前提是已經安裝python的h6py包.
from keras.models import load_model
當我們再一次使用時可以model.load_model(filepath)載入模型
二、保存模型的結構
model.to_jason()將模型序列化保存為json文件,里面記錄了網絡的整體結構, 各個層的參數設置等信息. 將json字符串保存到文件.
open(‘filename.json','w').write(json_string) from keras.models import model_form_json json_string=open('filename.json').read()
model=model_from_json(json_string)
除了json格式,還可以保存為yaml格式的字符串,形式與JSON一樣
三、保存模型權重
model.save_weights()
我們經過調參后網絡的輸出精度比較滿意后,可以將訓練好的網絡權重參數保存下 來.可通過下面的代碼利用HDF5進行保存
model.save_weights(‘model_weights.h6')
使用的時加載模型:
model.load_weights(‘model_weights.h6')
如果你需要加載權重到不同的網絡結構(有些層一樣)中,例如fine-tune或transfer-learning,你可以通過層名字來加載模型:
model.load_weights('my_model_weights.h6', by_name=True)
因此我們建模時最好給每個層定義名字
以上就是我們保存模型的三種方法,需要我們在實踐時多總結。
這篇基于keras 模型、結構、權重保存的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。