[英]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.