【问题标题】:Prevent evaluation of Op in tensorflow防止在张量流中评估 Op
【发布时间】:2016-10-12 09:53:55
【问题描述】:

我喜欢在 Tensorflow 的每个 epoch 中交换 Ops。目前我通过使用

实现了这一点
control_flow_ops.cond(tf.less(epoch, float()), op1, op2)

但是,似乎仍在评估未使用的 Ops,这大大减慢了训练过程。有没有办法减少这种开销?

【问题讨论】:

标签: tensorflow


【解决方案1】:

control_flow_ops.cond(tf.less(epoch, float()), op1, op2) 视为Python 的a if f(x) else b 的等价物,其中ab 是变量。此时ab 已经存储了一些值,因此对两个分支都进行了评估。您需要执行类似create_op1() 而不是op1 之类的操作才能仅评估一个分支。更多详情请看mrry的帖子here

【讨论】:

    猜你喜欢
    • 2019-08-02
    • 1970-01-01
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2022-07-28
    • 2017-09-17
    • 2018-11-07
    • 1970-01-01
    相关资源
    最近更新 更多