RuntimeError: The Session graph is empty. Add operations to the graph before calling run().解决办法

# 定义计算图
tens1 = tf.constant([1,2,3])

# 创建一个会话
sess = tf.compat.v1.Session()

# 使用这个创建好的会话来得到关心的运算的结果。比如可以调用 sess.run(result)
# 来得到张量result的取值
print(sess.run(tens1))

#关闭会话是的本次运行中使用的到的志愿可以被释放
sess.close()

报错:

RuntimeError: The Session graph is empty.  Add operations to the graph before calling run().

问题产生的原因:无法执行sess.run()的原因是tensorflow版本不同导致的,tensorflow版本2.0无法兼容版本1.0.
解决办法:添加tf.compat.v1.disable_eager_execution()

#  保证sess.run()能够正常运行
tf.compat.v1.disable_eager_execution()

# 定义计算图
tens1 = tf.constant([1,2,3])

# 创建一个会话
sess = tf.compat.v1.Session()

# 使用这个创建好的会话来得到关心的运算的结果。比如可以调用 sess.run(result)
# 来得到张量result的取值
print(sess.run(tens1))

#关闭会话是的本次运行中使用的到的志愿可以被释放
sess.close()

运行成功,输出[1 2 3]

你可能感兴趣的:(tensorflow)