在使用keras時(shí)經(jīng)常會使用到存儲模型和加載模型。在存儲時(shí)使用
model.save("model.h5")
如果此時(shí)存儲的model中有自定義的loss或者metrics原探,如果使用model = keras.models.load_model("model.h5")
在加載模型的時(shí)候會報(bào)錯(cuò):
ValueError: Unknown metric function:acc_top5
這是因?yàn)樽远x的函數(shù)沒有被保存乱凿,加載出來就會報(bào)錯(cuò),解決方案為:
model = keras.models.load_model("model.h5", custom_objects={'acc_top5': acc_top5})
如果是自定義loss踢匣,則custom_objects={}
括號中做對應(yīng)修改:
model = keras.models.load_model("model.h5", custom_objects={'loss_fun': loss_fun})