keras模型加載 Unknown Layer

存儲模型train.py: model.save('model_weight.h5')

 

在predict.py中,使用model = load_model("model_weight.h5")對模型進行加載的時報錯信息:

  1. Unknown Layer: LayerName。此處的LayerName代指自定義的layer。
  2. global name 'tf' is not defined

正確加載方式: 

  1. 聲明自定義的類,並創建實例。
  2. model = load_model("model_weight.h5", custom_objects={'tf': tf, 'Self_Attention': Self_Attention_shili, "local_Attention":local_Attention_shili}) ;將自己定義的類的名稱和實例傳進去。
  3. 如果自定義的類中,存在參數沒有設置初始默認值,則會報錯TypeError: init() missing 1 required positional argument: 'XXX'。解決方法:給一個初始值,需要和訓練時候的參數維度一致。

 

 

參考鏈接:

https://www.jianshu.com/p/e97112c34e43

 https://blog.csdn.net/sysleo/article/details/94551884

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章