AttributeError: ‘tuple‘ object has no attribute ‘layer‘

时间:2024-11-06 15:03:15

AttributeError: 'tuple' object has no attribute 'layer'


报错显示
在这里插入图片描述

inbound_layers = nest.map_structure(lambda t: t._keras_history.layer,
AttributeError: ‘tuple’ object has no attribute ‘layer’
而你测试数据的输入输出是正确的
在这里插入图片描述
可能原因:代码中同一个模型添加的网络层来自,和keras两个地方。
建议:1.如果使用tensorflow2.0以上版本,使用tenorflow自带的keras来建模。
其中keras相应模块对应在的位置参考。找到它们,全部更换成tenorflow自带的。
常用的有:

from tensorflow.keras.layers import (
    Input, Dense, Conv2D, MaxPooling2D, AveragePooling2D, ZeroPadding2D,
    Flatten, Activation, GlobalAveragePooling2D, GlobalMaxPooling2D, add)
# from  import BatchNormalization
from tensorflow.keras.layers import BatchNormalization
from tensorflow.keras.models import Model
from tensorflow.keras import initializers
# from  import Layer, InputSpec
from tensorflow.keras.layers import Layer, InputSpec
# from  import get_source_inputs
from tensorflow.keras.utils import get_source_inputs

2. 如果问题没解决,请检查是否更换彻底了。还可以参考论坛*