| | |
| | | #ifndef DETECTION_LAYER_H |
| | | #define DETECTION_LAYER_H |
| | | |
| | | #include "params.h" |
| | | |
| | | typedef struct { |
| | | int batch; |
| | | int h,w,c; |
| | | int n; |
| | | int size; |
| | | int stride; |
| | | |
| | | float *filters; |
| | | float *filter_updates; |
| | | float *filter_momentum; |
| | | |
| | | float *biases; |
| | | float *bias_updates; |
| | | float *bias_momentum; |
| | | |
| | | float *col_image; |
| | | float *delta; |
| | | int inputs; |
| | | int classes; |
| | | int coords; |
| | | int background; |
| | | int rescore; |
| | | int nuisance; |
| | | float *output; |
| | | |
| | | float *delta; |
| | | #ifdef GPU |
| | | cl_mem filters_cl; |
| | | cl_mem filter_updates_cl; |
| | | cl_mem filter_momentum_cl; |
| | | |
| | | cl_mem biases_cl; |
| | | cl_mem bias_updates_cl; |
| | | cl_mem bias_momentum_cl; |
| | | |
| | | cl_mem col_image_cl; |
| | | cl_mem delta_cl; |
| | | cl_mem output_cl; |
| | | float * output_gpu; |
| | | float * delta_gpu; |
| | | #endif |
| | | } detection_layer; |
| | | |
| | | ACTIVATION activation; |
| | | } convolutional_layer; |
| | | detection_layer *make_detection_layer(int batch, int inputs, int classes, int coords, int rescore, int background, int nuisance); |
| | | void forward_detection_layer(const detection_layer layer, network_state state); |
| | | void backward_detection_layer(const detection_layer layer, network_state state); |
| | | int get_detection_layer_output_size(detection_layer layer); |
| | | |
| | | #ifdef GPU |
| | | void forward_detection_layer_gpu(const detection_layer layer, network_state state); |
| | | void backward_detection_layer_gpu(detection_layer layer, network_state state); |
| | | #endif |
| | | |
| | | #endif |