[英]List of Differentiable Ops in Tensorflow
是否有可微分的 Tensorflow 操作主列表(即,会自动微分)?
其他两种表达方式:
ops.NoGradient
的操作列表。LookupError
的操作列表。 例如,我假设所有控制流操作都是不可微的(例如, tf.where
)。 除了通过tf.gradients
手动运行它们以查看它们是否抛出LookupError
之外,我如何找到它。
“常识”不是一个有效的答案。
谢谢。
编辑:
tf.where
是可微的,所以我的直觉是错误的。 也许这里的正确问题是 Tensorflow 中的哪些操作是不可微的。
谢谢。
我使用 python 代码设计了完整的可微分和不可微分操作列表。
您将在此处找到精简列表。 还有生成它的代码。
https://github.com/Mainak431/List-of-Differentiable--OPs-and-Non-differentiable-OPs--in-Tensorflow
不,没有列表(您可以是第一个创建它的人)。 另外据我所知,每个函数的文档也没有告诉它( tf.size
是不可微的,但没有告诉它)。
除了您建议的方式之外,您还可以从源代码中提取此数据。 例如,所有实现了渐变的操作,在方法声明前都有@ops.RegisterGradient
。 对于没有梯度的操作,你将有ops.NotDifferentiable(
不相关,但可能有帮助。
对于 TensorFlow 2,似乎在tf.raw_ops
模块的文档中提供了这样的列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.