AttributeError: модуль tenorflow.python.layers.layers не имеет атрибута Layer

Я изучаю статью под названием «Внимание - это все, что вам нужно», и я пытаюсь изучить код (официальной статьи с github), и у меня появляется странная ошибка, ошибка: «AttributeError: модуль 'tensorflow.python.layers.layers' не имеет атрибута 'Layer'»

Код, генерирующий ошибку:

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import tensorflow as tf
class Attention(tf.layers.Layer)://this is the line the generating the error

Теперь это странно, потому что при проверке в Интернете все решения были проблемой версии tenorflow, и у меня есть достаточная версия (по ответам в Интернете) 1.7.0, также моя версия python - 3.6.4.

Еще одно нормально, что в описании ошибки написано: «tensorflow.python.layers.layers», а не просто «tensorflow.layers»?

Большое спасибо за твою помощь.

Udacity Nanodegree Capstone Project: Классификатор пород собак
Udacity Nanodegree Capstone Project: Классификатор пород собак
Вы можете ознакомиться со скриптами проекта и данными на github .
1
0
2 402
2

Ответы 2

От: https://www.tensorflow.org/api_docs/python/tf/layers/Layer

tf.layers.Layer is considered legacy, and we recommend the use of tf.keras.layers.Layer instead

После этого вы можете получить еще одну ошибку, касающуюся Keras, поскольку тензорный поток должен быть версии> 1.4, поэтому обновите tf следующим образом:

pip install --upgrade tensorflow

Итак, я столкнулся с той же ошибкой, но обнаружил, что моя версия тензорный поток (которая is 2.0) переместил слои из пакета tf (tf.layers) в tf.keras.

Простым решением было бы заменить tf.layers на tf.keras.layers.

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