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 |   78 +++++++++++++++++++++++++++++++++++----
 1 files changed, 70 insertions(+), 8 deletions(-)

diff --git a/src/layer.h b/src/layer.h
index fc76234..18f98c7 100644
--- a/src/layer.h
+++ b/src/layer.h
@@ -2,6 +2,7 @@
 #define BASE_LAYER_H
 
 #include "activations.h"
+#include "stddef.h"
 
 struct layer;
 typedef struct layer layer;
@@ -22,7 +23,13 @@
     LOCAL,
     SHORTCUT,
     ACTIVE,
-    RNN
+    RNN,
+    GRU,
+    CRNN,
+    BATCHNORM,
+    NETWORK,
+    XNOR,
+    BLANK
 } LAYER_TYPE;
 
 typedef enum{
@@ -34,6 +41,7 @@
     ACTIVATION activation;
     COST_TYPE cost_type;
     int batch_normalize;
+    int shortcut;
     int batch;
     int forced;
     int flipped;
@@ -43,6 +51,7 @@
     int h,w,c;
     int out_h, out_w, out_c;
     int n;
+    int max_boxes;
     int groups;
     int size;
     int side;
@@ -52,8 +61,10 @@
     int flip;
     int index;
     int binary;
+    int xnor;
     int steps;
     int hidden;
+    float dot;
     float angle;
     float jitter;
     float saturation;
@@ -77,6 +88,7 @@
     float object_scale;
     float noobject_scale;
     float class_scale;
+    int random;
 
     int dontload;
     int dontloadscales;
@@ -89,8 +101,16 @@
     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;
 
@@ -128,17 +148,52 @@
     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_filters_gpu;
-
-    float * spatial_mean_gpu;
-    float * spatial_variance_gpu;
 
     float * mean_gpu;
     float * variance_gpu;
@@ -146,9 +201,6 @@
     float * rolling_mean_gpu;
     float * rolling_variance_gpu;
 
-    float * spatial_mean_delta_gpu;
-    float * spatial_variance_delta_gpu;
-
     float * variance_delta_gpu;
     float * mean_delta_gpu;
 
@@ -170,6 +222,16 @@
     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
 };
 

--
Gitblit v1.10.0