| #ifndef _BACKPROP_H_ |
| #define _BACKPROP_H_ |
|
|
| #define BIGRND 0x7fffffff |
|
|
| #define GPU |
| #define THREADS 256 |
| #define WIDTH 16 |
| #define HEIGHT 16 |
|
|
| #define ETA 0.3 |
| #define MOMENTUM 0.3 |
| #define NUM_THREAD 4 |
|
|
|
|
| typedef struct { |
| int input_n; |
| int hidden_n; |
| int output_n; |
|
|
| float *input_units; |
| float *hidden_units; |
| float *output_units; |
|
|
| float *hidden_delta; |
| float *output_delta; |
|
|
| float *target; |
|
|
| float **input_weights; |
| float **hidden_weights; |
|
|
| |
| float **input_prev_weights; |
| float **hidden_prev_weights; |
| } BPNN; |
|
|
|
|
| |
|
|
| void bpnn_initialize(); |
|
|
| BPNN *bpnn_create(); |
| void bpnn_free(); |
|
|
| void bpnn_train(); |
| void bpnn_feedforward(); |
|
|
| void bpnn_save(); |
| BPNN *bpnn_read(); |
|
|
|
|
| #endif |
|
|