![](/img/trans.png)
[英]Is tf.GradientTape in TF 2.0 equivalent to tf.gradients?
[英]tf.gradients() vs tf.gradientTape.gradient() in graph mode
我有一个关于 tf.gradients() 而不是 tf.gradientTape.gradient() 在图形模式下的行为的问题。
给定一个可微函数 y = f(x),其中 x 和 y 都是单个张量流张量,tf.gradient(y, x) 与 tape.gradient(y, x) 的行为之间有什么区别,其中 tape 是一个tf.gradientTape 的实例(假设使用图形模式)?
不知道为什么 tensorflow 有两种不同的梯度方法可以与图形模式一起使用 - 也许实现中有一些细微的差异? 我查看了 gradientTape 和 tf.gradients 的文档,但不清楚这些方法对于单个 (x, y) 对的行为是否有任何区别,或者是否只是 tf.gradients() 可以在这种情况下用于加速使用图形模式。
非常感谢你的帮助!
TF.gradients<\/strong>
tf.gradients<\/code>仅在图形上下文中有效。
特别是,它在
tf.function<\/code>包装器的上下文中有效,其中代码作为图形执行。
@tf.function
def example():
a = tf.constant(0.)
b = 2 * a
return tf.gradients(a + b, [a, b], stop_gradients=[a, b])
example()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.