aboutsummaryrefslogtreecommitdiff
path: root/neural_network.py
blob: 593a6ceb9227645838a959c8ee7aa9b40fe4e08f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env python

from src.nn import MLP
from src.loss import mse

X = [
    [ 0.0, 1.0, 2.0 ],
    [ 2.0, 1.0, 0.0 ],
    [ 2.0, 2.0, 2.0 ],
    [ 3.0, 3.0, 3.0 ]
]

y = [ 1.0, -1.0, 1.0, -1.0 ]
n = MLP(3, [ 4, 4, 1 ])

pred = [ n(x) for x in X ]
print(pred)

for i in range(400):
    pred = [ n(x) for x in X ]
    loss = mse(y, pred)

    loss.zero_grad()
    loss.backward()
    n.optimise(0.01)

    print(loss.data)

print(pred)