| | |
| | | |
| | | #include "activations.h" |
| | | |
| | | struct layer; |
| | | typedef struct layer layer; |
| | | |
| | | typedef enum { |
| | | CONVOLUTIONAL, |
| | | DECONVOLUTIONAL, |
| | |
| | | ROUTE, |
| | | COST, |
| | | NORMALIZATION, |
| | | REGION, |
| | | AVGPOOL |
| | | AVGPOOL, |
| | | LOCAL, |
| | | SHORTCUT, |
| | | ACTIVE, |
| | | RNN, |
| | | GRU, |
| | | CRNN, |
| | | BATCHNORM, |
| | | NETWORK, |
| | | BLANK |
| | | } LAYER_TYPE; |
| | | |
| | | typedef enum{ |
| | | SSE, MASKED |
| | | SSE, MASKED, SMOOTH |
| | | } COST_TYPE; |
| | | |
| | | typedef struct { |
| | | struct layer{ |
| | | LAYER_TYPE type; |
| | | ACTIVATION activation; |
| | | COST_TYPE cost_type; |
| | | int batch_normalize; |
| | | int shortcut; |
| | | int batch; |
| | | int forced; |
| | | int flipped; |
| | | int inputs; |
| | | int outputs; |
| | | int truths; |
| | |
| | | int side; |
| | | int stride; |
| | | int pad; |
| | | int crop_width; |
| | | int crop_height; |
| | | int sqrt; |
| | | int flip; |
| | | int index; |
| | | int binary; |
| | | int xnor; |
| | | int steps; |
| | | int hidden; |
| | | float dot; |
| | | float angle; |
| | | float jitter; |
| | | float saturation; |
| | | float exposure; |
| | | float shift; |
| | | int softmax; |
| | | int classes; |
| | | int coords; |
| | |
| | | float class_scale; |
| | | |
| | | int dontload; |
| | | int dontloadscales; |
| | | |
| | | float temperature; |
| | | float probability; |
| | | float scale; |
| | | |
| | |
| | | float *rand; |
| | | float *cost; |
| | | float *filters; |
| | | char *cfilters; |
| | | float *filter_updates; |
| | | float *state; |
| | | float *state_delta; |
| | | |
| | | float *concat; |
| | | float *concat_delta; |
| | | |
| | | float *binary_filters; |
| | | |
| | | float *biases; |
| | | float *bias_updates; |
| | | |
| | | float *scales; |
| | | float *scale_updates; |
| | | |
| | | float *weights; |
| | | float *weight_updates; |
| | | |
| | |
| | | float * squared; |
| | | float * norms; |
| | | |
| | | float * spatial_mean; |
| | | float * mean; |
| | | float * variance; |
| | | |
| | | float * mean_delta; |
| | | float * variance_delta; |
| | | |
| | | float * rolling_mean; |
| | | float * rolling_variance; |
| | | |
| | | float * x; |
| | | float * x_norm; |
| | | |
| | | struct layer *input_layer; |
| | | struct layer *self_layer; |
| | | struct layer *output_layer; |
| | | |
| | | struct layer *input_gate_layer; |
| | | struct layer *state_gate_layer; |
| | | struct layer *input_save_layer; |
| | | struct layer *state_save_layer; |
| | | struct layer *input_state_layer; |
| | | struct layer *state_state_layer; |
| | | |
| | | struct layer *input_z_layer; |
| | | struct layer *state_z_layer; |
| | | |
| | | struct layer *input_r_layer; |
| | | struct layer *state_r_layer; |
| | | |
| | | struct layer *input_h_layer; |
| | | struct layer *state_h_layer; |
| | | |
| | | #ifdef GPU |
| | | float *z_gpu; |
| | | float *r_gpu; |
| | | float *h_gpu; |
| | | |
| | | int *indexes_gpu; |
| | | float * prev_state_gpu; |
| | | float * forgot_state_gpu; |
| | | float * forgot_delta_gpu; |
| | | float * state_gpu; |
| | | float * state_delta_gpu; |
| | | float * gate_gpu; |
| | | float * gate_delta_gpu; |
| | | float * save_gpu; |
| | | float * save_delta_gpu; |
| | | float * concat_gpu; |
| | | float * concat_delta_gpu; |
| | | float * filters_gpu; |
| | | float * filter_updates_gpu; |
| | | |
| | | float *binary_input_gpu; |
| | | float *binary_filters_gpu; |
| | | |
| | | float * mean_gpu; |
| | | float * variance_gpu; |
| | | |
| | | float * rolling_mean_gpu; |
| | | float * rolling_variance_gpu; |
| | | |
| | | float * variance_delta_gpu; |
| | | float * mean_delta_gpu; |
| | | |
| | | float * col_image_gpu; |
| | | |
| | | float * x_gpu; |
| | | float * x_norm_gpu; |
| | | float * weights_gpu; |
| | | float * biases_gpu; |
| | | |
| | | float * weight_updates_gpu; |
| | | |
| | | float * biases_gpu; |
| | | float * bias_updates_gpu; |
| | | |
| | | float * scales_gpu; |
| | | float * scale_updates_gpu; |
| | | |
| | | float * output_gpu; |
| | | float * delta_gpu; |
| | | float * rand_gpu; |
| | | float * squared_gpu; |
| | | float * norms_gpu; |
| | | #endif |
| | | } layer; |
| | | }; |
| | | |
| | | void free_layer(layer); |
| | | |