JupyterLab Notebook执行print step, sess.run(w), sess.run(b)报错求助
问题排查与解决建议
1. TensorFlow版本不兼容
该代码基于TensorFlow 1.x编写,若你使用TensorFlow 2.x,sess.run()写法会直接报错——TF2.x默认启用即时执行模式,无需显式创建Session。
解决方法:
- 兼容模式:替换原导入语句为:
import tensorflow.compat.v1 as tf tf.disable_v2_behavior()
- TF2.x适配写法:移除Session相关代码,直接用
.numpy()获取变量值,将报错语句改为:
print(step, w.numpy(), b.numpy())
同时无需再执行tf.global_variables_initializer(),TF2.x会自动初始化变量。
2. 变量未初始化(TF1.x场景)
若使用TF1.x,需确保在调用sess.run()前执行变量初始化:
sess.run(tf.global_variables_initializer())
该语句需放在变量定义完成、Session创建之后。
3. 会话对象sess未创建
检查代码中是否存在Session创建语句:
sess = tf.Session()
未创建sess就调用sess.run()必然报错,需确保会话对象已正确初始化。
4. 变量w/b定义异常
检查w和b的定义是否存在语法错误,比如拼写错误、括号未闭合、变量名重复等问题。
内容的提问来源于stack exchange,提问作者Min Hoe
相关产品推荐
相关产品推荐

