2017-06-15 66 views
5

是否有可区分的Tensorflow操作的主列表(即将自动区分)?其他Tensorflow中差异操作的列表

两种方式这句话:

  • 名单OPS的没有ops.NoGradient集。
  • 不会触发的操作列表LookupError

例如,我假设所有控制流操作都不可微分(例如,tf.where)。除了通过tf.gradients手动运行它们以查看它们是否抛出LookupError以外,我怎么能找到这个。

“常识”不是一个有效的答案。

谢谢。

编辑:

tf.where可微,所以我的直觉是错误的。也许这里的正确问题是Tensorflow中的哪些操作是而不是可区分的。

谢谢。

+0

看起来常识实际上意味着数学在目前的情况下。 – user1735003

回答

2

不,没有列表(您可以成为第一个创建它的人)。据我所知,每个函数的文档也没有告诉它(tf.size是不可区分的,但没有告诉它)。

除了您建议的方式之外,您还可以从源代码中提取此数据。例如,所有执行梯度的操作都在方法声明前有@ops.RegisterGradient。对于没有梯度的操作,您将有ops.NotDifferentiable(

不相关,但是probably helpful