使用Keras加載含有自定義層或函數(shù)的模型操作
當我們導入的模型含有自定義層或者自定義函數(shù)時,需要使用custom_objects來指定目標層或目標函數(shù)。
例如:
我的一個模型含有自定義層“SincConv1D”,需要使用下面的代碼導入:
from keras.models import load_model
model = load_model('model.h5', custom_objects={'SincConv1D': SincConv1D})
如果不加custom_objects指定目標層Layer,則會出現(xiàn)以下報錯:
ValueError: Unknown layer: SincConv1D
同樣的,當我的模型含有自定義函數(shù)“my_loss”,需要使用下面的代碼導入:
from keras.models import load_model
model = load_model('model.h5', custom_objects={'my_loss': my_loss})
補充知識:keras加載模型load_model報錯——ValueError: Unknown layer: CRF
我就廢話不多說了,大家還是直接看代碼吧!
from keras.models import load_model
model = load_model(model_path)
會報錯,需要在load_model函數(shù)中添加custom_objects參數(shù),來聲明自定義的層
(用keras搭建bilstm-crf,在訓練模型時,使用的是:
from keras_contrib.layers.crf import CRF) from keras_contrib.layers.crf import CRF, crf_loss, crf_viterbi_accuracy model = load_model(model_path, custom_objects={"CRF": CRF, 'crf_loss': crf_loss, 'crf_viterbi_accuracy': crf_viterbi_accuracy})
以上這篇使用Keras加載含有自定義層或函數(shù)的模型操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python通過opencv調(diào)用攝像頭操作實例分析
在本篇文章里小編給大家整理的是一篇關于python通過opencv調(diào)用攝像頭操作實例分析內(nèi)容,有興趣的朋友們可以學習下。2021-06-06python基于concurrent模塊實現(xiàn)多線程
這篇文章主要介紹了python基于concurrent模塊實現(xiàn)多線程,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下2021-04-04python爬蟲 使用真實瀏覽器打開網(wǎng)頁的兩種方法總結
下面小編就為大家分享一篇python爬蟲 使用真實瀏覽器打開網(wǎng)頁的兩種方法總結,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Pytorch BCELoss和BCEWithLogitsLoss的使用
這篇文章主要介紹了Pytorch BCELoss和BCEWithLogitsLoss的使用詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05django 將自帶的數(shù)據(jù)庫sqlite3改成mysql實例
這篇文章主要介紹了django 將自帶的數(shù)據(jù)庫sqlite3改成mysql實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07python編程使用協(xié)程并發(fā)的優(yōu)缺點
協(xié)程是一種用戶態(tài)的輕量級線程,又稱微線程。這篇文章主要介紹了python編程使用協(xié)程并發(fā)的優(yōu)缺點,感興趣的朋友跟隨小編一起看看吧2018-09-09