keras load_model Error

Keras在load_model 時,如果模型中含有自定義Layer或者損失函數的時候會報錯

先看下load_model 的函數定義:
在這裏插入圖片描述

法一:利用 custom_objects 參數

#假設模型包含一個 xxxxLayer 自定義層或者 xxxxloss自定義loss

from keras.models import load_model

model = load_model('./model.h5', custom_objects={'xxxxLayer ': xxxxLayer })

法二: 利用自定義對象作用域

from keras.utils import CustomObjectScope 
with CustomObjectScope({'xxxxLayer ': xxxxLayer }):    
	model = load_model('./model.h5')

法三:不進行模型的編譯

該方式適合有自定義的loss函數時,加載模型時不進行編譯即可

from keras.models import load_model

model = load_model('./model.h5', compile = False)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章