Oli*_*ilO 11 python tensorflow
是否存在可区分的Tensorflow操作的主列表(即,将自动区分)?
另外两种表达方式:
ops.NoGradient
设置的操作列表.LookupError
.例如,我假设所有控制流操作都不可区分(例如tf.where
).除了通过手动运行它们tf.gradients
以查看它们是否抛出它之外,我将如何找到它LookupError
.
"常识"不是一个有效的答案.
谢谢.
编辑:
tf.where
是可区分的,所以我的直觉是错误的.也许这里正确的问题是Tensorflow中的哪些操作不可区分.
谢谢.
Mai*_*tta 13
我使用 python 代码设计了完整的可微分和不可微分操作列表。
您将在此处找到压缩列表。还有生成它的代码。
https://github.com/Mainak431/List-of-Differentiable--OPs-and-Non-differentiable-OPs--in-Tensorflow
不,没有列表(您可以第一个创建它)。据我所知,每个函数的文档也没有告诉它(tf.size
不可区分但没有告诉它)。
除了建议的方式之外,您还可以从源代码中提取此数据。例如,所有已实现渐变的操作都@ops.RegisterGradient
在方法声明的前面。对于没有渐变的操作,您将拥有ops.NotDifferentiable(
没有关系,但可能有帮助。