基于keras 模型、結構、權重保存的實現
如何將訓練好的網絡進行保存,我們可以用pickle或cPickle來保存Keras模型,同時我們可以用下面的方法:
一、保存整個模型
model.save(filepath)將Keras模型和權重保存在一個HDF5文件中,該文件將包含:
模型的結構
模型的權重
訓練配置(損失函數,優(yōu)化器,準確率等)
優(yōu)化器的狀態(tài),以便于從上次訓練中斷的地方
前提是已經安裝python的h5py包.
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.h5')
使用的時加載模型:
model.load_weights(‘model_weights.h5')
如果你需要加載權重到不同的網絡結構(有些層一樣)中,例如fine-tune或transfer-learning,你可以通過層名字來加載模型:
model.load_weights('my_model_weights.h5', by_name=True)
因此我們建模時最好給每個層定義名字
以上就是我們保存模型的三種方法,需要我們在實踐時多總結。
這篇基于keras 模型、結構、權重保存的實現就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
PyCharm+Pipenv虛擬環(huán)境開發(fā)和依賴管理的教程詳解
這篇文章主要介紹了PyCharm+Pipenv虛擬環(huán)境作開發(fā)和依賴管理的教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
Python調用高德API實現批量地址轉經緯度并寫入表格的功能
這篇文章主要介紹了Python調用高德API實現批量地址轉經緯度并寫入表格的功能,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
如何以Winsows Service方式運行JupyterLab
這篇文章主要介紹了如何以Winsows Service方式運行JupyterLab的教程2020-08-08
如何使用draw.io插件在vscode中一體化導出高質量圖片
這篇文章主要介紹了draw.io插件在vscode中一體化導出高質量圖片需要的工具是vscode,?draw.io擴展,draw.io桌面版?、python,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒,需要的朋友可以參考下2022-08-08

