自定义层,tensorflow加载模型的时候出现ValueError: Unknown layer: xxxxx。

使用tenseoflow自定义一个网络,为类,训练好之后,加载模型,出现ValueError: Unknown layer: ExternalAttention。下面分别是定义的类和报错。

自定义的类:

自定义层,tensorflow加载模型的时候出现ValueError: Unknown layer: xxxxx。_第1张图片

 报错:自定义层,tensorflow加载模型的时候出现ValueError: Unknown layer: xxxxx。_第2张图片

 在网上搜寻了方法,直接添加一个参数

model = load_model('lstm2.h5', custom_objects={'ExternalAttention': ExternalAttention})

结果出现下列错误:

自定义层,tensorflow加载模型的时候出现ValueError: Unknown layer: xxxxx。_第3张图片

 意思应该是出现了多个值,也出现了名字,应该是多了名字这个参数,回到自定义类,将名字参数删除即可。

删除前截图:第五行有个name参数

自定义层,tensorflow加载模型的时候出现ValueError: Unknown layer: xxxxx。_第4张图片

删除后截图:

自定义层,tensorflow加载模型的时候出现ValueError: Unknown layer: xxxxx。_第5张图片

 成功运行

自定义层,tensorflow加载模型的时候出现ValueError: Unknown layer: xxxxx。_第6张图片

 

你可能感兴趣的:(python)