らんだむな記憶

blogというものを体験してみようか!的なー

自動微分

\begin{align}
\frac{d}{d x} (x^2)^2\Big|_{x=3} = 108
\end{align}

を自動微分で求めてみましょ・・・というだけ。

[TensorFlow]

x = tf.constant(3.0)
with tf.GradientTape() as t:
  t.watch(x)
  y = x * x
  z = y * y
dz_dx = t.gradient(z, x)
print(dz_dx)
tf.Tensor(108.0, shape=(), dtype=float32)

[PyTorch]

x = torch.tensor(3.0, requires_grad=True)
#x.requires_grad_(True)
y = x * x
z = y * y
z.backward()
dz_dx = x.grad
print(dz_dx)
tensor(108.)