繁体   English   中英

TensorFlow 中的默认 tf.gradients - 全导数还是偏导数?

[英]default tf.gradients in TensorFlow - total or partial derivatives?

所以我正在阅读文档( https://www.tensorflow.org/api_docs/python/tf/gradients )中的 tf.gradients() 并且我有点困惑。

我见过有人说 tf.gradients() 的结果是

ys wrt x in xs 的符号偏导数。

这也是我首先想到的。 但是文档描述了这个函数的一个可选参数如下:

stop_gradients 是一个张量或一个张量列表,相对于所有 xs 被认为是常数。 这些张量不会被反向传播,就好像它们已经使用 stop_gradient 明确断开连接一样。 除此之外,这允许计算偏导数而不是总导数。

那么,如果我使用“stop_gradient”,那么是否只能计算偏导数,否则在带有 len(xs) 的向量中返回的默认值是总导数? 可能这只是我的误解,如果有人能详细说明一下,将不胜感激。

非常感谢!

根据功能文档

...它返回一个长度为 len(xs) 的张量列表,其中每个张量是 ys 中 y 的总和(dy/dx)。

所以这正是你在第一部分中所说的 - 每个输出张量是对应 x 的 ys导数的总和。

文档建议使用stop_gradients参数来计算偏导数,即为该参数提供的张量在微分中被认为是常数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM