pythontensorflowkerastensorflow2.0

TensorFlow 2.0 - AttributeError: module 'tensorflow' has no attribute 'Session'


When I am executing the command sess = tf.Session() in a TensorFlow 2.0 environment, I am getting an error message as below:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'tensorflow' has no attribute 'Session'

System information:

Steps to reproduce:

Installation

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

Execution

  1. Execute command: import tensorflow as tf
  2. Execute command: sess = tf.Session()

Solution

  • According to TF 1:1 Symbols Map, in TensorFlow 2.0, you should use tf.compat.v1.Session() instead of tf.Session().

    https://docs.google.com/spreadsheets/d/1FLFJLzg7WNP6JHODX5q8BDgptKafq_slHpnHVbJIteQ/edit#gid=0

    To get TensorFlow 1.x-like behaviour in TensorFlow 2.0, one can run

    import tensorflow.compat.v1 as tf
    tf.disable_v2_behavior()
    

    but then one cannot benefit of many improvements made in TensorFlow 2.0. For more details, please refer to the migration guide.