Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- def add(a, b):
- result = [a[i] + b[i] for i in range(len(a))]
- return result
- def multiply(a, b):
- result = [0 for i in range(len(b))]
- for i, cur in enumerate(b):
- for x, nex in enumerate(a):
- result[i] = result[i] + cur * nex
- return result
- class Neuro():
- def __init__(self, layers):
- self.layers = layers
- for i, layer in enumerate(layers):
- self.layers[i] = [0 for i in range(layer)]
- self.weights = []
- for i, layer in enumerate(layers):
- if i < len(layers) - 1:
- self.weights.append([random.random() for i in range(len(layer) * len(layers[i + 1]))])
- def run(self, inpu):
- self.layers[0] = inpu
- for i, layer in enumerate(layers):
- if i >= 1:
- res = multiply(self.layers[i - 1], self.weights[i - 1])
- self.layers[i] = add(layer, res)
- return self.layers[len(self.layers) - 1]
- def reweight(self):
- pass
- layers = [1, 3, 3, 1]
- nn = Neuro(layers)
- print(nn.run([2]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement