代码之家  ›  专栏  ›  技术社区  ›  Albert

仅在需要时执行操作?

  •  0
  • Albert  · 技术社区  · 7 年前

    假设我有一些var v 和一些操作 increase_op = tf.assign_add(v, 1) 在计算图中,但是我做了 session.run 对于不依赖于 increase_op 它也不在任何控件依赖项中。

    • 我能确定它不会执行吗 那么呢?
    • 也就是说,TensorFlow总是只在需要时执行OP,而不执行任何推测性的执行?
    • 威尔 增加 在计算图中有任何其他副作用,例如预先分配一些内存(例如假设 tf.assign_add(v, some_very_big_thing) )?
    1 回复  |  直到 7 年前
        1
  •  1
  •   Alexandre Passos    7 年前

    我能确定它不会执行增加操作吗?

    对.

    也就是说,TensorFlow总是只在需要时执行OP,而不执行任何推测性的执行?

    是的,大多数TensorFlow程序都依赖于这种图形修剪来确保正确性,因此对此进行任何更改都必须小心。

    在计算图中增加“op”会有其他的副作用吗,例如预先分配一些内存(例如假设tf.assign ou-add(v,some ou-very-big ou thing))?

    如果 some_very_big_thing 是tf.constant,那么它将永久地耗尽ram,但是如果它是由另一个计算产生的张量,那么就可以了。

    推荐文章