2016-10-12 62 views
-1

我喜歡在Tensorflow的每個時代交換Ops。目前我通過使用防止在張量流中對Op進行評估

control_flow_ops.cond(tf.less(epoch, float()), op1, op2) 

但是,看起來未使用的Ops仍在評估中,這顯着降低了訓練過程的速度。有沒有辦法減少這種開銷?

+0

請參閱:https://www.tensorflow.org/versions/r0.11/api_docs/python/control_flow_ops.html#cond – mdaoust

回答

0

control_flow_ops.cond(tf.less(epoch, float()), op1, op2)看成是Python的a if f(x) else b其中ab是變量的等效。在點ab已經存儲了一些值,因此兩個分支都被評估。您需要執行create_op1()而不是op1來評估一個分支。在mrry的帖子中的更多細節here