12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #include "backprop.h"
- #include "omp.h"
- extern char *strcpy();
- extern void exit();
- int layer_size = 0;
- void backprop_face()
- {
- BPNN *net;
- int i;
- float out_err, hid_err;
- net = bpnn_create(layer_size, 16, 1); // (16, 1 can not be changed)
-
- printf("Input layer size : %d\n", layer_size);
- load(net);
- //entering the training kernel, only one iteration
- printf("Starting training kernel\n");
- bpnn_train_kernel(net, &out_err, &hid_err);
- bpnn_free(net);
- printf("\nFinish the training for one iteration\n");
- }
- int setup(int argc, char **argv)
- {
-
- int seed;
- if (argc!=2){
- fprintf(stderr, "usage: backprop <num of input elements>\n");
- exit(0);
- }
- layer_size = atoi(argv[1]);
- if (layer_size%16!=0){
- fprintf(stderr, "The number of input points must be divided by 16\n");
- exit(0);
- }
-
- seed = 7;
- bpnn_initialize(seed);
- backprop_face();
- exit(0);
- }
|