当前位置:   article > 正文

Keras导入自定义metric模型报错: unknown metric function: Please ensure this object is passed to`custom_object‘_please ensure this object is passed to the `custom

please ensure this object is passed to the `custom_objects` argument

Keras的模型自定义了metric或者loss,
在保存成后h5的时候没有问题, 但是在使用load_model导入的时候却会报错:

unknown metric function: HammingScore. Please ensure this object is passed to the custom_objects argument.

这是因为自定义的参数没有传递进去. 有两个解决办法:

  1. 如果只需要做预测, 不再训练, 则可以直接加compile = False:
model = keras.models.load_model('model.h5', compile = False)
  • 1

如果再需要训练或者修改, 就把自己定义的metrics代码加上, 并且再次编译:

model.compile(loss='binary_crossentropy',
              optimizer=Ada,
              metrics=[HammingScore]) # 这里HammingScore是我自定义的metric
  • 1
  • 2
  • 3
  1. 在导入的时候把自定义的metric/loss作为键值传入custom_objects :
model = keras.models.load_model('model.h5', custom_objects={'HammingScore': HammingScore} )
  • 1

注意键值要一致才可以.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/499795
推荐阅读
相关标签
  

闽ICP备14008679号