我一直在尝试使用提供的答案迭代tensorflow模型 Tensorflow : Memory leak even while closing Session? 我有一个注释中提到的相同错误,即"会话图是空的。在调用run()之前向图形添加操作。"我无法弄清楚如何解决它。
答案 0 :(得分:6)
我的建议是确保您的会话知道它正在运行哪个图表。 你可以尝试的事情是:
首先构建图表并将图表传递给会话。
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(...)
如果您想使用多个with
语句,请以嵌套方式使用它。
with tf.Graph().as_default():
# build your graph here
with tf.Session() as mySession:
mySession.run(...)
答案 1 :(得分:0)
如果您搜索TensorFlow源代码,您会发现此专有消息告诉您图形版本为0,表示它为空。
您需要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())