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

本文解决了一个常见的TensorFlow Keras模型构建错误,即AttributeError: 'tuple' object has no attribute 'layer'。错误可能源于混合使用了tensorflow.keras和独立的keras库。文章提供了详细的解决方案,包括如何统一使用tensorflow.keras库,并检查代码中所有相关模块是否已替换。
部署运行你感兴趣的模型镜像

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’
而你测试数据的输入输出是正确的
在这里插入图片描述
可能原因:代码中同一个模型添加的网络层来自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. 如果问题没解决,请检查是否更换彻底了。还可以参考论坛StackOverflow

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.15

TensorFlow-v2.15

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柏常青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值