会话图是空的

时间:2017-03-04 08:15:36

标签: python-3.x tensorflow

我一直在尝试使用提供的答案迭代tensorflow模型 Tensorflow : Memory leak even while closing Session? 我有一个注释中提到的相同错误,即"会话图是空的。在调用run()之前向图形添加操作。"我无法弄清楚如何解决它。

2 个答案:

答案 0 :(得分:6)

我的建议是确保您的会话知道它正在运行哪个图表。 你可以尝试的事情是:

  1. 首先构建图表并将图表传递给会话。

    myGraph = tf.Graph()
    with myGraph.as_default():
        # build your graph here
    
    mySession = tf.Session(graph=myGraph)
    mySession.run(...)
    
    # Or
    
    with tf.Session(graph=myGraph) as mySession:
        mySession.run(...)
    
  2. 如果您想使用多个with语句,请以嵌套方式使用它。

    with tf.Graph().as_default():
        # build your graph here
        with tf.Session() as mySession:
            mySession.run(...)
    

答案 1 :(得分:0)

如果您搜索TensorFlow源代码,您会发现此专有消息告诉您图形版本为0,表示它为空。

enter image description here 您需要load来自文件的图形或创建这样的图形(仅作为示例):

gdb

import tensorflow as tf pi = tf.constant(3.14, name="pi") r = tf.placeholder(tf.float32, name="r") a = pi * r * r graph = tf.get_default_graph() print(graph.get_operations()) 行将确认图形不为空:

print(graph.get_operations())