我刚刚开始学习tensorflow,并在Jupyter-Notebook
中编写了以下代码:
a = tf.placeholder(tf.float32,shape=[3,3],name='X')
b = tf.constant([[5,5,5],[2,3,4],[4,5,6]],tf.float32,name='Y')
c = tf.matmul(a,b)
with tf.Session() as sess:
writer = tf.summary.FileWriter('./graphs',sess.graph)
print (sess.run(c,feed_dict={a:[[2,3,4],[4,5,6],[6,7,8]]}))
writer.close()
第一次运行tensorboard,给出一个X,Y和mult节点,如下所示:
然而,当我再次编译我的代码(ctrl+enter)
时,张量板现在复制了原始图形。
我尝试通过以下方法解决此问题(删除较旧的死节点):
1.删除事件文件
2.删除包含相同代码的多个事件文件的整个目录
3.在tensorboard命令行调用之前运行fuser 6006/tcp -k
。
但即使在那之后,当我运行tensorboard时,它会显示重复的副本。
唯一有效的解决方案是使用代码开头的tf.reset_default_graph()
或shut the notebook down and restart it
重置图表。
我的问题是:
1.为什么even after deleting the event files, the older dead nodes keep showing up on the tensorboard
?是的,我甚至在每次尝试后都重新启动了Tensorboard,但重复仍然存在
2.除了上面列出的两个方法之外,有什么方法可以摆脱死节点?
答案 0 :(得分:3)
您描述的节点并未死亡。它们仍然存在并且可以使用。
第一次运行代码时,创建的节点会添加到图表中。当您第二次执行相同的单元格时,会再次使用不同的名称添加它们。
如果您只是将.py文件中的代码复制两次,则可以实现相同的目的。
tf.reset_default_graph()的解决方案是正确的。重新启动笔记本电脑是因为删除了内存中的所有信息。与重新运行.py文件相同。
你删除偶数文件的东西不起作用,因为尽管如此,文件被删除,添加到内存中的图形的节点仍然存在。
答案 1 :(得分:0)