Mercurial > projects > aid
comparison trunk/backprop_test.d @ 3:314d68bafeff
Backprop and backprop_test added (no testing).
author | revcompgeek |
---|---|
date | Fri, 11 Apr 2008 18:12:55 -0600 |
parents | |
children | 73beed484455 |
comparison
equal
deleted
inserted
replaced
2:9655c8362b25 | 3:314d68bafeff |
---|---|
1 module backprop_test; | |
2 | |
3 import aid.nn.multilayer.backprop; | |
4 import aid.nn.outputFunctions; | |
5 import std.stdio; | |
6 | |
7 /+float[][] trainingInputs = [ | |
8 [0,0,0], | |
9 [0,0,1], | |
10 [0,1,0], | |
11 [0,1,1], | |
12 [1,0,0], | |
13 [1,0,1], | |
14 [1,1,0], | |
15 [1,1,1]]; | |
16 | |
17 float[][] trainingOutputs = [ | |
18 [0.1], | |
19 [0.9], | |
20 [0.9], | |
21 [0.1], | |
22 [0.9], | |
23 [0.1], | |
24 [0.1], | |
25 [0.9]];+/ | |
26 | |
27 float[][] trainingInputs = [ | |
28 [0,0], | |
29 [0,1], | |
30 [1,0], | |
31 [1,1]]; | |
32 | |
33 float[][] trainingOutputs = [ | |
34 [0.1], | |
35 [0.9], | |
36 [0.9], | |
37 [0.1]]; | |
38 | |
39 void main(){ | |
40 Backprop nn = new Backprop(2,[4,1],[&sigmoid,&sigmoid]); | |
41 | |
42 float error = 10.0; | |
43 float[] output; | |
44 int iter = 0; | |
45 while(error >= 0.5){ | |
46 error = nn.calculateError(trainingInputs,trainingOutputs); | |
47 if(iter % 100 == 0){ | |
48 writefln("Iter: %d",iter); | |
49 for(int i=0; i<trainingInputs.length; i++){ | |
50 output = nn.evaluate(trainingInputs[i]); | |
51 writef(" %d:", i); printArray(output); | |
52 } | |
53 writefln(" Error: %f", error); | |
54 } | |
55 nn.train(trainingInputs,trainingOutputs); | |
56 } | |
57 writefln("Total Iters: %d",iter); | |
58 for(int i=0; i<trainingInputs.length; i++){ | |
59 output = nn.evaluate(trainingInputs[i]); | |
60 writef(" %d:", i); printArray(output); | |
61 } | |
62 writefln(" Error: %f", error); | |
63 } | |
64 | |
65 void printArray(float[] array){ | |
66 writef("["); | |
67 for(int i=0; i<array.length-1; i++){ | |
68 writef("%f, ",array[i]); | |
69 } | |
70 writefln("%f]",array[$]); | |
71 } |