-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathXorNetwork.c
50 lines (45 loc) · 1.17 KB
/
XorNetwork.c
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include "../ann.h"
int main(){
network *ann = (network*)malloc(sizeof(network));
int dim[3] = {2,4,1};
init_ann(ann,dim,3);
//Check Weights
// for(int i=1;i<3;i++){
// for(int j=0;j<dim[i-1];j++){
// for(int k=0;k<dim[i];k++){
// printf("%lf ",ann->weights[i-1][k][j]);
// }
// printf("\n");
// }
// }
double train_data[MAX_SIZE][MAX_SIZE];
train_data[0][0] = 0;
train_data[0][1] = 0;
train_data[0][2] = 0;
train_data[1][0] = 0;
train_data[1][1] = 1;
train_data[1][2] = 1;
train_data[2][0] = 1;
train_data[2][1] = 0;
train_data[2][2] = 1;
train_data[3][0] = 1;
train_data[3][1] = 1;
train_data[3][2] = 0;
for(int i=0;i<100000;i++){
train(ann,train_data,4,0.25);
}
test(ann,train_data,4);
//Check Weights
// for(int i=1;i<3;i++){
// for(int j=0;j<dim[i-1];j++){
// for(int k=0;k<dim[i];k++){
// printf("%lf ",ann->weights[i-1][k][j]);
// }
// printf("\n");
// }
// }
return 0;
}