| | |
| | | #ifndef DETECTION_LAYER_H |
| | | #define DETECTION_LAYER_H |
| | | |
| | | typedef struct { |
| | | int batch; |
| | | int h,w,c; |
| | | int n; |
| | | int size; |
| | | int stride; |
| | | #include "layer.h" |
| | | #include "network.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 n, int size, int classes, int coords, int rescore); |
| | | void forward_detection_layer(const detection_layer l, network_state state); |
| | | void backward_detection_layer(const detection_layer l, network_state state); |
| | | void get_detection_boxes(layer l, int w, int h, float thresh, float **probs, box *boxes, int only_objectness); |
| | | void get_detection_detections(layer l, int w, int h, float thresh, detection *dets); |
| | | |
| | | 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 |