Advertisement
kirkarr

Untitled

Apr 15th, 2024
807
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. import random
  2.  
  3. def add(a, b):
  4.     result = [a[i] + b[i] for i in range(len(a))]
  5.     return result
  6.  
  7. def multiply(a, b):
  8.     result = [0 for i in range(len(b))]
  9.     for i, cur in enumerate(b):
  10.         for x, nex in enumerate(a):
  11.             result[i] = result[i] + cur * nex
  12.     return result
  13.  
  14. class Neuro():
  15.     def __init__(self, layers):
  16.         self.layers = layers
  17.         for i, layer in enumerate(layers):
  18.             self.layers[i] = [0 for i in range(layer)]
  19.         self.weights = []
  20.         for i, layer in enumerate(layers):
  21.             if i < len(layers) - 1:
  22.                 self.weights.append([random.random() for i in range(len(layer) * len(layers[i + 1]))])
  23.     def run(self, inpu):
  24.         self.layers[0] = inpu
  25.         for i, layer in enumerate(layers):
  26.             if i >= 1:
  27.                 res = multiply(self.layers[i - 1], self.weights[i - 1])
  28.                 self.layers[i] = add(layer, res)
  29.         return self.layers[len(self.layers) - 1]
  30.     def reweight(self):
  31.         pass
  32.  
  33. layers = [1, 3, 3, 1]
  34. nn = Neuro(layers)
  35. print(nn.run([2]))
  36.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement