当我在Tensorflow 2.0环境中执行命令sess = tf.Session()时,我得到了一个错误消息,如下所示:

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安装——升级PIP PIP install tensorflow==2.0.0-alpha0 PIP安装keras PIP install numpy==1.16.2

执行:

执行命令:import tensorflow as tf 执行命令:sess = tf.Session()


当前回答

如果你在做这件事的时候,

from keras.applications.vgg16 import VGG16
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input
import numpy as np

然后我建议你遵循这些步骤,注意:只适用于TensorFlow2和CPU进程 步骤1:告诉你的代码就像编译器是TF1一样,并禁用TF2行为,使用以下代码:

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

步骤2:当导入库时,提醒你的代码必须像TF1一样,是的,每一次。

tf.disable_v2_behavior()
from keras.applications.vgg16 import VGG16
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input
import numpy as np

结论:这应该工作,让我知道如果有什么问题,也如果它是GPU,然后提到添加keras后端代码。此外,TF2不支持会话,对此有单独的理解,TensorFlow上已经提到过,链接是: TensorFlow TF2中使用会话的页面 其他主要的TF2变化已经在这个链接中提到,它很长,但请通过它,使用Ctrl+F协助。链接, Effective TensorFlow 2 Page Link

其他回答

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

TF v2.0支持Eager模式相对于v1.0的Graph模式。因此,2.0版本不支持tf.session()。因此,建议您重写代码以在Eager模式下工作。

TF2在默认情况下运行Eager Execution,从而消除了对session的需求。如果你想运行静态图形,更合适的方法是在TF2中使用tf.function()。虽然在TF2中仍然可以通过tf. compatat .v1.Session()访问Session,但我不鼓励使用它。通过比较hello worlds中的差异可能有助于演示这种差异:

TF1。X你好世界:

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

TF2。X你好世界:

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

更多信息请参见Effective TensorFlow 2

用这个:

sess = tf.compat.v1.Session()

如果出现错误,请使用以下方法

tf.compat.v1.disable_eager_execution()
sess = tf.compat.v1.Session()

如果你在做这件事的时候,

from keras.applications.vgg16 import VGG16
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input
import numpy as np

然后我建议你遵循这些步骤,注意:只适用于TensorFlow2和CPU进程 步骤1:告诉你的代码就像编译器是TF1一样,并禁用TF2行为,使用以下代码:

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

步骤2:当导入库时,提醒你的代码必须像TF1一样,是的,每一次。

tf.disable_v2_behavior()
from keras.applications.vgg16 import VGG16
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input
import numpy as np

结论:这应该工作,让我知道如果有什么问题,也如果它是GPU,然后提到添加keras后端代码。此外,TF2不支持会话,对此有单独的理解,TensorFlow上已经提到过,链接是: TensorFlow TF2中使用会话的页面 其他主要的TF2变化已经在这个链接中提到,它很长,但请通过它,使用Ctrl+F协助。链接, Effective TensorFlow 2 Page Link