欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-14 09:31:15
...

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


报错显示
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’
而你测试数据的输入输出是正确的
AttributeError: ‘tuple‘ object has no attribute ‘layer‘
可能原因:代码中同一个模型添加的网络层来自tensorflow.keras,和keras两个地方。
建议:1.如果使用tensorflow2.0以上版本,使用tenorflow自带的keras来建模。
其中keras相应模块对应在tensorflow.keras的位置参考tf.keras。找到它们,全部更换成tenorflow自带的。
常用的有:

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

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

相关标签: BUG