Tensorflow tf.GradientTape
先来看一段代码
x = tf.constant(3.0)
with tf.GradientTape() as g:
g.watch(x)
y = x * x
dy_dx = g.gradient(y, x) # output 6.0 = 2x
可以发现 GradientTape 可以用来计算函数的导数
------------------------------分割线------------------------------
再来看一段代码
x = tf.constant(7.0)
with tf.GradientTape() as g:
g.watch(x)
with tf.GradientTape() as gg:
gg.watch(x)
y = x * x * x
dy_dx = gg.gradient(y, x) # output 147 = 3x^2
d2y_dx2 = g.gradient(dy_dx, x) # output 42 = 6x
可以看出,嵌套的 GradientTape 可以计算函数的高阶导数