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)

Действия по воспроизведению:

Монтаж:

  1. pip install --upgrade pip
  2. pip install tenorflow == 2.0.0-alpha0
  3. pip install keras
  4. pip install numpy == 1.16.2

Исполнение:

  1. Выполнить команду: импортировать тензор потока как тф
  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))