【问题标题】:How does Tensorflow support using optimizers with custom ops?Tensorflow 如何支持使用带有自定义操作的优化器?
【发布时间】:2017-07-25 21:03:41
【问题描述】:

我创建了一个新操作,我想将它与 AdamOptimizer 一起使用。我按照here 的说明为它创建了一个渐变,并将其添加到我的优化器的 var_list 中,但 Tensorflow 说我的变量没有处理器。

优化器中是否支持 Tensorflow 自定义操作? 优化器类是让我创建一个新的处理器还是我必须重写部分 compute_gradients?

此外,如 TF 文档所述,自动微分是什么意思:

要使新操作的自动微分工作,您必须注册一个梯度函数,该函数计算相对于操作输入的梯度,给定相对于操作输出的梯度。

谢谢!

【问题讨论】:

  • 您的意思是添加自定义操作并注册渐变?这句话只是意味着我们通过应用链式法则来推断梯度。用户操作与常规操作略有不同。一个很好的简单示例应该是 sigmoid。
  • 不,我在做一些不同的事情。感谢您对汽车差异化的澄清!

标签: tensorflow


【解决方案1】:

所以我发现 Tensorflow 优化器不支持我正在做的事情。

我试图创建一个类似于 Tensorflow 变量的操作(即通过 Optimizer::minimize() 中的函数进行更新),但是,我相信 TF 对处理器和 Eigen::Tensors 做了一些我不知道的事情完全理解为了用minimize()更新梯度,自然这不适用于Op类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-05
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    相关资源
    最近更新 更多