类型错误:添加的层必须是类层的实例。找到:<keras.engine.training.model 对象在0x7fa5bee17ac8>



我试图使用keras库的Xception/Inception模型来训练模型,但我面临值错误

我使用的数据集来自kaggle commuinity和Notebook,我称之为Notebook,但我试图使用不同的模型,如Xception/Inception,但孤立的想法对我不起作用

with strategy.scope():
enet = keras.applications.inception_v3.InceptionV3(
input_shape=(512, 512, 3),
weights='imagenet',
include_top=False
)
model = tf.keras.Sequential([
enet,
tf.keras.layers.GlobalAveragePooling2D(),
tf.keras.layers.Dense(len(CLASSES), activation='softmax')
])
model.compile(
optimizer=tf.keras.optimizers.Adam(lr=0.0001),
loss = 'sparse_categorical_crossentropy',
metrics=['sparse_categorical_accuracy']
)
model.summary()

错误WHich I Face


--------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-29-30d5c6cc8c12> in <module>
11         enet,
12         tf.keras.layers.GlobalAveragePooling2D(),
---> 13         tf.keras.layers.Dense(len(CLASSES), activation='softmax')
14     ])
15 
/opt/conda/lib/python3.6/site-packages/tensorflow_core/python/training/tracking/base.py in 
_method_wrapper(self, *args, **kwargs)
455     self._self_setattr_tracking = False  # pylint: disable=protected-access
456     try:
--> 457       result = method(self, *args, **kwargs)
458     finally:
459       self._self_setattr_tracking = previous_value  # pylint: disable=protected-access
/opt/conda/lib/python3.6/site-packages/tensorflow_core/python/keras/engine/sequential.py in 
__init__(self, layers, name)
114       tf_utils.assert_no_legacy_layers(layers)
115       for layer in layers:
--> 116         self.add(layer)
117 
118   @property
/opt/conda/lib/python3.6/site-packages/tensorflow_core/python/training/tracking/base.py in 
_method_wrapper(self, *args, **kwargs)
455     self._self_setattr_tracking = False  # pylint: disable=protected-access
456     try:
--> 457       result = method(self, *args, **kwargs)
458     finally:
459       self._self_setattr_tracking = previous_value  # pylint: disable=protected-access
/opt/conda/lib/python3.6/site-packages/tensorflow_core/python/keras/engine/sequential.py in add(self, 
layer)
159       raise TypeError('The added layer must be '
160                       'an instance of class Layer. '
--> 161                       'Found: ' + str(layer))
162 
163     tf_utils.assert_no_legacy_layers([layer])
TypeError: The added layer must be an instance of class Layer. Found: <keras.engine.training.Model 
object at 0x7fa5bee17ac8>

感谢

您在kerastf.keras库之间混合导入,它们不是同一个库,不支持这种组合。

您可以导入tf.keras.applications以访问InceptionV3

相关内容

最新更新