Tensorflow 2.0 - AttributeError: модуль tenensflow не имеет атрибута "Сеанс"
Когда я выполняю команду sess = tf.Session()
в среде Tensorflow 2.0, я получаю сообщение об ошибке, как показано ниже:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'tensorflow' has no attribute 'Session'
Системная информация:
- Платформа ОС и распространение: Windows 10
- Версия Python: 3.7.1
- Версия Tensorflow: 2.0.0-alpha0 (устанавливается вместе с pip)
Действия по воспроизведению:
Монтаж:
- pip install --upgrade pip
- pip install tenorflow == 2.0.0-alpha0
- pip install keras
- pip install numpy == 1.16.2
Исполнение:
- Выполнить команду: импортировать тензор потока как тф
- Выполнить команду: sess = tf.Session()
Ответы
Ответ 1
Согласно TF 1:1 Symbols Map
, в TF 2.0 вы должны использовать tf.compat.v1.Session()
вместо tf.Session()
https://docs.google.com/spreadsheets/d/1FLFJLzg7WNP6JHODX5q8BDgptKafq_slHpnHVbJIteQ/edit#gid=0
Чтобы получить поведение, подобное TF 1.x, в TF 2.0 можно запустить
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
но тогда нельзя получить много улучшений, сделанных в TF 2.0. Для более подробной информации, пожалуйста, обратитесь к руководству по миграцииhttps://www.tensorflow.org/guide/migrate
Ответ 2
Я столкнулся с этой проблемой, когда впервые попробовал python после установки windows10 + python3.7(64bit) + anacconda3 + jupyter notebook.
Я решил эту проблему, сославшись на "https://vispud.blogspot.com/2019/05/tensorflow200a0-attributeerror-module.html"
Я согласен с
Я считаю, что "Session()" был удален с TF 2.0.
Я вставил две строки. Один - tf.compat.v1.disable_eager_execution()
, а другой - sess = tf.compat.v1.Session()
Мой Hello.py выглядит следующим образом:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello = tf.constant('Hello, TensorFlow!')
sess = tf.compat.v1.Session()
print(sess.run(hello))