| | |
| | | #define BASE_LAYER_H |
| | | |
| | | #include "activations.h" |
| | | #include "stddef.h" |
| | | |
| | | struct layer; |
| | | typedef struct layer layer; |
| | |
| | | CRNN, |
| | | BATCHNORM, |
| | | NETWORK, |
| | | XNOR, |
| | | BLANK |
| | | } LAYER_TYPE; |
| | | |
| | |
| | | int h,w,c; |
| | | int out_h, out_w, out_c; |
| | | int n; |
| | | int max_boxes; |
| | | int groups; |
| | | int size; |
| | | int side; |
| | |
| | | char *cfilters; |
| | | float *filter_updates; |
| | | float *state; |
| | | float *prev_state; |
| | | float *forgot_state; |
| | | float *forgot_delta; |
| | | float *state_delta; |
| | | |
| | | float *concat; |
| | |
| | | struct layer *input_h_layer; |
| | | struct layer *state_h_layer; |
| | | |
| | | float *z_cpu; |
| | | float *r_cpu; |
| | | float *h_cpu; |
| | | |
| | | float *binary_input; |
| | | |
| | | size_t workspace_size; |
| | | |
| | | #ifdef GPU |
| | | float *z_gpu; |
| | | float *r_gpu; |
| | |
| | | float * rand_gpu; |
| | | float * squared_gpu; |
| | | float * norms_gpu; |
| | | #ifdef CUDNN |
| | | cudnnTensorDescriptor_t srcTensorDesc, dstTensorDesc; |
| | | cudnnTensorDescriptor_t dsrcTensorDesc, ddstTensorDesc; |
| | | cudnnFilterDescriptor_t filterDesc; |
| | | cudnnFilterDescriptor_t dfilterDesc; |
| | | cudnnConvolutionDescriptor_t convDesc; |
| | | cudnnConvolutionFwdAlgo_t fw_algo; |
| | | cudnnConvolutionBwdDataAlgo_t bd_algo; |
| | | cudnnConvolutionBwdFilterAlgo_t bf_algo; |
| | | #endif |
| | | #endif |
| | | }; |
| | | |