当前位置:   article > 正文

使用keras调用load_model时报错ValueError: Unknown Layer:LayerName_keras no such layer:

keras no such layer:

出现该错误是因为要保存的model中包含了自定义的层(Custom Layer),导致加载模型的时候无法解析该Layer。详见can not load_model() if my model contains my own Layer

该issue下的解决方法不够全,综合了一下后可得完整解决方法如下:
load_model函数中添加custom_objects参数,该参数接受一个字典,键值为自定义的层:

model = load_model(model_path, custom_objects={'AttLayer': 
AttLayer})  # 假设自定义的层的名字为AttLayer
  • 1
  • 2

添加该语句后,可能会解决问题,也可能出现新的Error:
init() got an unexpected keyword argument ‘name’, 为解决该Error,可以参照keras-team的写法,在自定义的层中添加get_config函数,该函数定义形如:

def get_config(self):    
    config = {
        'attention_dim&#
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/499830
推荐阅读
相关标签
  

闽ICP备14008679号