30 lines
668 B
Python
30 lines
668 B
Python
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))
|