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. 如果问题没解决,请检查是否更换彻底了。还可以参考论坛*: