当前位置:  开发笔记 > 编程语言 > 正文

是否可以修改现有的TensorFlow计算图?

如何解决《是否可以修改现有的TensorFlow计算图?》经验,为你挑选了2个好方法。

TensorFlow图通常从输入到输出逐步构建,然后执行.查看Python代码,操作的输入列表是不可变的,这表明不应修改输入.这是否意味着无法更新/修改现有图表?



1> mrry..:

TensorFlow tf.Graph类是仅附加数据结构,这意味着您可以在执行图形的一部分后将节点添加到图形中,但不能删除或修改现有节点.由于TensorFlow在您调用时仅执行必要的子图Session.run(),因此在图中具有冗余节点没有执行时间成本(尽管它们将继续消耗内存).

要删除图表中的所有节点,您可以使用新图表创建会话:

with tf.Graph().as_default():  # Create a new graph, and make it the default.
  with tf.Session() as sess:  # `sess` will use the new, currently empty, graph.
    # Build graph and execute nodes in here.


"虽然他们将继续消耗内存" - 当会话被python运行时垃圾收集时,是否释放了这个内存?

2> zaxliu..:

是的,tf.Graph正如@mrry所说的那样构建了一种仅限附加的方式.

但有解决方法:

从概念上讲,您可以通过克隆现有图表来修改现有图表并执行所需的修改.从r1.1开始,Tensorflow提供了一个名为的模块,它将tf.contrib.graph_editor上述想法实现为一组方便的功能.


太糟糕了,这些方法的文档很差
推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有