with tf.Session() as sess: AttributeError: module tensorflow has no attribute Session
时间: 2023-10-30 21:11:42 浏览: 192
在 TensorFlow 2.x 版本中,`Session` 已经被弃用。相反,您需要使用 `tf.compat.v1.Session()` 方法。
下面是一个示例代码:
```python
import tensorflow as tf
# 创建一个常量张量
a = tf.constant(3)
b = tf.constant(4)
# 创建一个 TensorFlow 会话
with tf.compat.v1.Session() as sess:
# 计算 a 和 b 的和
result = sess.run(a + b)
print(result)
```
您还可以将以下代码添加到文件的开头,以避免在代码中使用 `tf.compat.v1.Session()`:
```python
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
```
这将禁用 TensorFlow 2.x 版本的行为,并允许您继续使用 `tf.Session()`。
相关问题
with tf.Session() as sess: AttributeError: module 'tensorflow' has no attribute 'Session'
在TensorFlow 2.0版本中,使用eager execution即默认开启动态图,不需要使用Session来运行图。如果你在使用TensorFlow 1.x版本的话,可能会遇到这个错误。解决办法是,需要将代码改为使用tf.compat.v1.Session()来代替tf.Session()。如下所示:
```
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
with tf.Session() as sess:
...
```
with tf.Graph().as_default(), tf.Session() as sess: AttributeError: module 'tensorflow' has no attribute 'Session'
在 TensorFlow 2.x 版本中,`tf.Session()` 已经被废弃,而被 `tf.compat.v1.Session()` 取代。如果你的代码中使用了 `tf.Session()`,可以改为 `tf.compat.v1.Session()`,或者使用 `tf.compat.v1.disable_v2_behavior()` 函数来启用 TensorFlow 1.x 的行为。示例代码如下:
```python
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
with tf.Graph().as_default(), tf.Session() as sess:
# 在 TensorFlow 1.x 中使用 Session
```
如果你的 TensorFlow 版本是 1.x,可以直接使用 `tf.Session()`。
阅读全文