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

前端 未结 10 1186
小鲜肉
小鲜肉 2020-12-02 05:41

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

Traceback (most recent         


        
相关标签:
10条回答
  • 2020-12-02 06:03

    try this

    import tensorflow as tf
    
    tf.compat.v1.disable_eager_execution()
    
    hello = tf.constant('Hello, TensorFlow!')
    
    sess = tf.compat.v1.Session()
    
    print(sess.run(hello))
    
    0 讨论(0)
  • 2020-12-02 06:05

    I faced this problem when I first tried python after installing windows10 + python3.7(64bit) + anacconda3 + jupyter notebook.

    I solved this problem by refering to "https://vispud.blogspot.com/2019/05/tensorflow200a0-attributeerror-module.html"

    I agree with

    I believe "Session()" has been removed with TF 2.0.

    I inserted two lines. One is tf.compat.v1.disable_eager_execution() and the other is sess = tf.compat.v1.Session()

    My Hello.py is as follows:

    import tensorflow as tf
    
    tf.compat.v1.disable_eager_execution()
    
    hello = tf.constant('Hello, TensorFlow!')
    
    sess = tf.compat.v1.Session()
    
    print(sess.run(hello))
    
    0 讨论(0)
  • 2020-12-02 06:15

    For TF2.x, you can do like this.

    import tensorflow as tf
    with tf.compat.v1.Session() as sess:
        hello = tf.constant('hello world')
        print(sess.run(hello))
    

    >>> b'hello world

    0 讨论(0)
  • 2020-12-02 06:18

    TF2 runs Eager Execution by default, thus removing the need for Sessions. If you want to run static graphs, the more proper way is to use tf.function() in TF2. While Session can still be accessed via tf.compat.v1.Session() in TF2, I would discourage using it. It may be helpful to demonstrate this difference by comparing the difference in hello worlds:

    TF1.x hello world:

    import tensorflow as tf
    msg = tf.constant('Hello, TensorFlow!')
    sess = tf.Session()
    print(sess.run(msg))
    

    TF2.x hello world:

    import tensorflow as tf
    msg = tf.constant('Hello, TensorFlow!')
    tf.print(msg)
    

    For more info, see Effective TensorFlow 2

    0 讨论(0)
  • 2020-12-02 06:19

    According to TF 1:1 Symbols Map, in TF 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 TF 1.x like behaviour in TF 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 TF 2.0. For more details please refer to the migration guide https://www.tensorflow.org/guide/migrate

    0 讨论(0)
  • 2020-12-02 06:22

    TF v2.0 supports Eager mode vis-a-vis Graph mode of v1.0. Hence, tf.session() is not supported on v2.0. Hence, would suggest you to rewrite your code to work in Eager mode.

    0 讨论(0)
提交回复
热议问题