当我在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()


当前回答

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

其他回答

如果这是你的代码,正确的解决方案是重写它不使用Session(),因为在TensorFlow 2中不再需要Session()

如果这只是你正在运行的代码,你可以通过运行降级到TensorFlow 1

pip3 install --upgrade --force-reinstall tensorflow-gpu==1.15.0 

(或者TensorFlow 1的最新版本)

使用Anaconda + Spyder (Python 3.7)

(代码)

import tensorflow as tf
valor1 = tf.constant(2)
valor2 = tf.constant(3)
type(valor1)
print(valor1)
soma=valor1+valor2
type(soma)
print(soma)
sess = tf.compat.v1.Session()
with sess:
    print(sess.run(soma))

[控制台]

import tensorflow as tf
valor1 = tf.constant(2)
valor2 = tf.constant(3)
type(valor1)
print(valor1)
soma=valor1+valor2
type(soma)
Tensor("Const_8:0", shape=(), dtype=int32)
Out[18]: tensorflow.python.framework.ops.Tensor

print(soma)
Tensor("add_4:0", shape=(), dtype=int32)

sess = tf.compat.v1.Session()

with sess:
    print(sess.run(soma))
5

我在更新Windows 10后第一次尝试谷歌Colab时也遇到了同样的问题。然后我改了一下,插入了两行,

tf.compat.v1.disable_eager_execution () sess = tf. compatat .v1. session ()

结果,一切都很顺利

import tensorflow as tf
sess = tf.Session()

这段代码在版本2.x上会显示一个属性错误

使用版本1。版本2.x中的X代码

试试这个

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