Keras的模型自定義了metric或者loss,
在保存成后h5的時候沒有問題, 但是在使用load_model匯入的時候卻會報錯:
unknown metric function: HammingScore. Please ensure this object is passed to the
custom_objectsargument.
這是因為自定義的引數沒有傳遞進去. 有兩個解決辦法:
- 如果只需要做預測, 不再訓練, 則可以直接加
compile = False:
model = keras.models.load_model('model.h5', compile = False)
如果再需要訓練或者修改, 就把自己定義的metrics代碼加上, 并且再次編譯:
model.compile(loss='binary_crossentropy',
optimizer=Ada,
metrics=[HammingScore]) # 這里HammingScore是我自定義的metric
- 在匯入的時候把自定義的metric/loss作為鍵值傳入
custom_objects:
model = keras.models.load_model('model.h5', custom_objects={'HammingScore': HammingScore} )
注意鍵值要一致才可以.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/287444.html
標籤:區塊鏈
下一篇:有哪些專案需要用到性能優化技術
