Joseph Redmon
2016-11-16 fc9b867dd9c9a6d38d7fe478217060e11b9e7e1b
src/detection_layer.h
@@ -1,40 +1,19 @@
#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);
    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