首页 > 其他 > 详细

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

时间:2021-01-31 17:33:53      阅读:26      评论:0      收藏:0      [点我收藏+]

首先tf1.的开启回话语句是这样的:

# 开启会话
    with tf.Session() as sess:
        c_t_value = sess.run(c_t)
        print("c_t_value:\n", c_t_value)

现在对于tf2.的用户应该这样做:

# 开启会话
    tf.compat.v1.disable_eager_execution()
    sess = tf.compat.v1.Session()
    c_t_value = sess.run(c_t)
    print("c_t_value:\n", c_t_value)

运行之后报这样的错:

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()

一个小的测试例子:

import tensorflow as tf
import os
os.environ[TF_CPP_MIN_LOG_LEVEL] = 2

def tensorflow_demo():
    tf.compat.v1.disable_eager_execution()
    #保证sess.run()能够正常运行
    """
    TensorFlow的基本结构
    :return:
    """
    # 原生python加法运算
    a = 2
    b = 3
    c = a + b
    print("普通加法运算的结果:\n", c)
    # TensorFlow实现加法运算
    a_t = tf.constant(2)
    b_t = tf.constant(3)
    c_t = a_t + b_t
    print("TensorFlow加法运算的结果:\n", c_t)
    # 开启会话
    tf.compat.v1.disable_eager_execution()
    sess = tf.compat.v1.Session()
    c_t_value = sess.run(c_t)
    print("c_t_value:\n", c_t_value)
    return None

if __name__ == "__main__":
    # 代码1:TensorFlow的基本结构
    tensorflow_demo()
    

技术分享图片

 

 技术分享图片

 

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

原文:https://www.cnblogs.com/dazhi151/p/14342364.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!