def main(): parser = argparse.ArgumentParser() parser.add_argument("--iters", type=int, default=0) parser.add_argument("--verbose", type=bool, default=False) parser.add_argument("--out", type=str, default="tanh.png") args = parser.parse_args() x = Variable(np.array(1.0)) y = F.tanh(x) x.name = 'x' y.name = 'y' y.backward(create_graph=True) iters = args.iters 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=args.verbose, to_file=args.out)
import numpy as np from DeZero import Variable from DeZero.utils import plot_dot_graph def goldstein(x, y): z = (1 + (x + y + 1)**2 * (19 - 14*x + 3*x**2 - 14*y + 6*x*y + 3*y**2)) * \ (30 + (2*x - 3*y)**2 * (18 - 32*x + 12*x**2 + 48*y - 36*x*y + 27*y**2)) return z x = Variable(np.array(1.0)) y = Variable(np.array(1.0)) z = goldstein(x, y) z.backward() x.name = 'x' y.name = 'y' z.name = 'z' plot_dot_graph(z, verbose=False, to_file='goldstein.png')