deep-learning-from-scratch-3 icon indicating copy to clipboard operation
deep-learning-from-scratch-3 copied to clipboard

How to draw dot graph for higher order differentiation by tanh function

Open iamcodingcat opened this issue 3 years ago • 0 comments

I want to visualize below graph using second order differentiation by tanh function. 스크린샷 2022-07-09 오후 4 46 55

To realize this graph, I tried to the source code that you gave us. But this code only gives me the result that just first order differentiation graph by tanh. I wonder how to draw first, second, third, ..., and higher order differentiation. plz give me some guide. Thanks.

'''
Need the dot binary from the graphviz package (www.graphviz.org).
'''
import numpy as np
from dezero import Variable
from dezero.utils import plot_dot_graph
import dezero.functions as F

x = Variable(np.array(1.0))
y = F.tanh(x)
x.name = 'x'
y.name = 'y'
y.backward(create_graph=True)

iters = 3

for i in range(iters):
    gx = x.grad
    x.cleargrad()
    gx.backward(create_graph=True)

gx = x.grad
gx.name = 'gx' + str(iters + 1)
plot_dot_graph(gx, verbose=False, to_file='tanh.png')

iamcodingcat avatar Jul 09 '22 07:07 iamcodingcat