nn = NeuralNetwork(1, 1) nn.add(5, [tanh, Dtanh]) nn.add(5, [tanh, Dtanh]) nn.init([linear, Dlinear]) n = 25000 cost = [] for i in range(n): index = np.random.randint(0, N) x = data[index][0] y = data[index][1] c = nn.cost(x, y) cost.append(c) nn.train(x, y) if i % 100 == 0: print("Iter " + str(i) + " Cost " + str(c)) nnG = [] sin = [] for i in range(N): x = i*np.pi*2/N nnG.append(nn.predict(x)[0]) sin.append(np.sin(x)) c = 0 for i in range(len(nnG)):