从图中删除节点或重置整个默认graphics

使用默认全局图时,是否可以在添加节点后删除节点,或者将默认图重置为空? 当在IPython中以交互方式使用TF时,我发现自己不得不重新启动内核。 如果可能,我希望能够更容易地尝试图表。

更新11/2/2016

tf.reset_default_graph()

老东西

reset_default_graph ,但不是公共API的一部分(我认为应该是,有人想在GitHub上提出问题 ?)

我的工作重置是这样的:

 from tensorflow.python.framework import ops ops.reset_default_graph() sess = tf.InteractiveSession() 

默认情况下,会话是围绕默认图构build的。 为了避免在会话中留下死亡的节点,您需要控制默认graphics或使用明确的graphics。

  • 要清除默认graphics,可以使用tf.reset_default_graph函数。

     tf.reset_default_graph() sess = tf.InteractiveSession() 
  • 您也可以显式构build一个graphics,并避免使用默认的graphics。 如果您使用普通Session ,则需要在构build会话之前完全创buildgraphics。 对于InteractiveSession ,您可以声明graphics并将其用作上下文来声明进一步的更改:

     g = tf.Graph() sess = tf.InteractiveSession(graph=g) with g.asdefault(): # Put variable declaration and other tf operation # in the graph context .... b = tf.matmul(A, x) .... sess.run([b], ...) 

编辑:对于张量tensorflow (1.0+)的最新版本,正确的function是g.as_default

IPython / Jupyter笔记本电脑保持单元运行之间的状态。

创build一个自定义graphics:

 def main(): # Define your model data = tf.placeholder(...) model = ... with tf.Graph().as_default(): main() 

一旦运行,graphics被清理。