import numpy as np from random import random neurons_per_layer = 4 layers = 2 inputs = 2 outputs = 1 grid_min = -10 grid_max = 10 biases = [[] for _ in range(layers)] for i in range(0, neurons_per_layer) weights = [[] for _ in range(layers+2)] # Input layer to first hidden layer weights weights[0] = [random() for _ in range(inputs*neurons_per_layer)] for i in range(1, layers+1): # Weights between hidden layers weights[i] = [random() for _ in range(neurons_per_layer ** 2)] # Weights from last hidden layer to output layer weights[-1] = [random() for _ in range(outputs*neurons_per_layer)] def sigmoid(x): return np.exp(-np.logaddexp(0, -x))