| | |
| | | #ifndef DETECTION_LAYER_H |
| | | #define DETECTION_LAYER_H |
| | | |
| | | typedef struct { |
| | | int batch; |
| | | int h,w,c; |
| | | int n; |
| | | int size; |
| | | int stride; |
| | | #include "params.h" |
| | | #include "layer.h" |
| | | |
| | | float *filters; |
| | | float *filter_updates; |
| | | float *filter_momentum; |
| | | typedef layer detection_layer; |
| | | |
| | | float *biases; |
| | | float *bias_updates; |
| | | float *bias_momentum; |
| | | 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 l, network_state state); |
| | | void backward_detection_layer(const detection_layer l, network_state state); |
| | | int get_detection_layer_output_size(detection_layer l); |
| | | int get_detection_layer_locations(detection_layer l); |
| | | |
| | | float *col_image; |
| | | float *delta; |
| | | float *output; |
| | | |
| | | #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; |
| | | #endif |
| | | |
| | | ACTIVATION activation; |
| | | } convolutional_layer; |
| | | #ifdef GPU |
| | | void forward_detection_layer_gpu(const detection_layer l, network_state state); |
| | | void backward_detection_layer_gpu(detection_layer l, network_state state); |
| | | #endif |
| | | |
| | | #endif |