From ae43c2bc32fbb838bfebeeaf2c2b058ccab5c83c Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@burninator.cs.washington.edu>
Date: Thu, 23 Jun 2016 05:31:14 +0000
Subject: [PATCH] hi
---
src/layer.h | 156 +++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 147 insertions(+), 9 deletions(-)
diff --git a/src/layer.h b/src/layer.h
index c319183..18f98c7 100644
--- a/src/layer.h
+++ b/src/layer.h
@@ -2,6 +2,10 @@
#define BASE_LAYER_H
#include "activations.h"
+#include "stddef.h"
+
+struct layer;
+typedef struct layer layer;
typedef enum {
CONVOLUTIONAL,
@@ -15,33 +19,58 @@
ROUTE,
COST,
NORMALIZATION,
- AVGPOOL
+ AVGPOOL,
+ LOCAL,
+ SHORTCUT,
+ ACTIVE,
+ RNN,
+ GRU,
+ CRNN,
+ BATCHNORM,
+ NETWORK,
+ XNOR,
+ 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 h,w,c;
int out_h, out_w, out_c;
int n;
+ int max_boxes;
int groups;
int size;
+ 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;
int background;
@@ -49,24 +78,48 @@
int objectness;
int does_cost;
int joint;
+ int noadjust;
float alpha;
float beta;
float kappa;
- int dontload;
+ float coord_scale;
+ float object_scale;
+ float noobject_scale;
+ float class_scale;
+ int random;
+ int dontload;
+ int dontloadscales;
+
+ float temperature;
float probability;
float scale;
+
int *indexes;
float *rand;
float *cost;
float *filters;
+ char *cfilters;
float *filter_updates;
+ float *state;
+ float *prev_state;
+ float *forgot_state;
+ float *forgot_delta;
+ 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;
@@ -78,25 +131,110 @@
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;
+
+ 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 *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;
+ #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
-} layer;
+ #endif
+};
+
+void free_layer(layer);
#endif
--
Gitblit v1.10.0