From a392bbd0c957a00e3782c96e7ced84a29ff9dd88 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Tue, 15 Mar 2016 05:33:02 +0000
Subject: [PATCH] Play along w/ alphago

---
 src/layer.h |   90 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 80 insertions(+), 10 deletions(-)

diff --git a/src/layer.h b/src/layer.h
index 1eb7351..3efd597 100644
--- a/src/layer.h
+++ b/src/layer.h
@@ -3,6 +3,9 @@
 
 #include "activations.h"
 
+struct layer;
+typedef struct layer layer;
+
 typedef enum {
     CONVOLUTIONAL,
     DECONVOLUTIONAL,
@@ -15,19 +18,27 @@
     ROUTE,
     COST,
     NORMALIZATION,
-    REGION,
-    AVGPOOL
+    AVGPOOL,
+    LOCAL,
+    SHORTCUT,
+    ACTIVE,
+    RNN,
+    CRNN
 } 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;
@@ -39,13 +50,18 @@
     int side;
     int stride;
     int pad;
-    int crop_width;
-    int crop_height;
     int sqrt;
     int flip;
+    int index;
+    int binary;
+    int steps;
+    int hidden;
+    float dot;
     float angle;
+    float jitter;
     float saturation;
     float exposure;
+    float shift;
     int softmax;
     int classes;
     int coords;
@@ -60,8 +76,15 @@
     float beta;
     float kappa;
 
-    int dontload;
+    float coord_scale;
+    float object_scale;
+    float noobject_scale;
+    float class_scale;
 
+    int dontload;
+    int dontloadscales;
+
+    float temperature;
     float probability;
     float scale;
 
@@ -70,10 +93,16 @@
     float *cost;
     float *filters;
     float *filter_updates;
+    float *state;
+
+    float *binary_filters;
 
     float *biases;
     float *bias_updates;
 
+    float *scales;
+    float *scale_updates;
+
     float *weights;
     float *weight_updates;
 
@@ -85,26 +114,67 @@
     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;
+
     #ifdef GPU
     int *indexes_gpu;
+    float * state_gpu;
     float * filters_gpu;
     float * filter_updates_gpu;
 
+    float *binary_filters_gpu;
+    float *mean_filters_gpu;
+
+    float * spatial_mean_gpu;
+    float * spatial_variance_gpu;
+
+    float * mean_gpu;
+    float * variance_gpu;
+
+    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;
+
     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);
 

--
Gitblit v1.10.0