Как исправить объект 'tuple', не имеющий атрибута 'layer'?

Я использую слой из ffectivenet для некоторой постобработки на этом слое, но после извлечения слоя и выполнения операции над ним он показывает, что:

AttributeError: объект 'tuple' не имеет атрибута 'layer' .

Работает на python 3.6.2 с участием tensorflow 2.0 keras 2.2.4, Пробовал с моделью keras, такой как ResNet, и она работает нормально.

base_model = EfficientNetB4((img_height, img_width, 3), weights='imagenet', include_top=False)
base_model.summary()    
x = base_model.get_layer('swish_96').output
x_a = ASPP(x)

ASPP(объединение пространственной пирамиды) - это класс, выполняющий различные операции над слоем x после получения слоя.

1 ответ

Конфликт версий тензорного потока и кераса. Решено, изменив его на тф 1.14.

По-видимому, не все пакеты TensorFlow 2.0 поддерживают Python 3.7.

это сработало для меня

conda create -y --name tensorflow python=3.6

введите это перед входом в среду

conda activate tensorflow

У меня была похожая проблема, когда я строил модель с той же ошибкой. Исправьте это, убедившись, что все слои взяты из tf.keras(возможно, keras тоже в порядке)

То есть:

входные и выходные слои созданы из tf.keras

Другие вопросы по тегам