是因为该层是自己定义的网络层,在加载模型时没有办法读取到该网络层(layer)
在load_model函数中添加custom_objects参数,该参数接受一个字典,键值为自定义的层:
model = load_model(model_path, custom_objects={'AttLayer': AttLayer}) # 假设自定义的层的名字为AttLayer
假如AttLayer是在另一.py文件中,还需从另一个.py文件夹中导入过来
from myself import AttLayer #假设另一个.py文件的名字是 myself.py,自定义的层的名字为AttLayer
model = load_model(model_path, custom_objects={'AttLayer': AttLayer}) # 假设自定义的层的名字为AttLayer