From 0dab894a5be9f7d10d85e89dea91d02c71bae84d Mon Sep 17 00:00:00 2001
From: Edmond Yoo <hj3yoo@uwaterloo.ca>
Date: Sun, 16 Sep 2018 03:24:45 +0000
Subject: [PATCH] Moving files from MTGCardDetector repo
---
src/layer.h | 102 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 95 insertions(+), 7 deletions(-)
diff --git a/src/layer.h b/src/layer.h
index 2376929..72a63e9 100644
--- a/src/layer.h
+++ b/src/layer.h
@@ -2,6 +2,10 @@
#define BASE_LAYER_H
#include "activations.h"
+#include "stddef.h"
+#include "tree.h"
+
+struct network_state;
struct layer;
typedef struct layer layer;
@@ -27,6 +31,12 @@
CRNN,
BATCHNORM,
NETWORK,
+ XNOR,
+ REGION,
+ YOLO,
+ REORG,
+ UPSAMPLE,
+ REORG_OLD,
BLANK
} LAYER_TYPE;
@@ -34,10 +44,28 @@
SSE, MASKED, SMOOTH
} COST_TYPE;
+typedef struct {
+ int batch;
+ float learning_rate;
+ float momentum;
+ float decay;
+ int adam;
+ float B1;
+ float B2;
+ float eps;
+ int t;
+} update_args;
+
struct layer{
LAYER_TYPE type;
ACTIVATION activation;
COST_TYPE cost_type;
+ void (*forward) (struct layer, struct network_state);
+ void (*backward) (struct layer, struct network_state);
+ void (*update) (struct layer, int, float, float, float);
+ void (*forward_gpu) (struct layer, struct network_state);
+ void (*backward_gpu) (struct layer, struct network_state);
+ void (*update_gpu) (struct layer, int, float, float, float);
int batch_normalize;
int shortcut;
int batch;
@@ -49,10 +77,12 @@
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 reverse;
int pad;
int sqrt;
int flip;
@@ -67,6 +97,8 @@
float saturation;
float exposure;
float shift;
+ float ratio;
+ int focal_loss;
int softmax;
int classes;
int coords;
@@ -76,6 +108,25 @@
int does_cost;
int joint;
int noadjust;
+ int reorg;
+ int log;
+ int tanh;
+ int *mask;
+ int total;
+ float bflops;
+
+ int adam;
+ float B1;
+ float B2;
+ float eps;
+ float *m_gpu;
+ float *v_gpu;
+ int t;
+ float *m;
+ float *v;
+
+ tree *softmax_tree;
+ int *map;
float alpha;
float beta;
@@ -84,8 +135,19 @@
float coord_scale;
float object_scale;
float noobject_scale;
+ float mask_scale;
float class_scale;
+ int bias_match;
+ int random;
+ float ignore_thresh;
+ float truth_thresh;
+ float thresh;
+ float focus;
+ int classfix;
+ int absolute;
+ int onlyforward;
+ int stopbackward;
int dontload;
int dontloadscales;
@@ -96,16 +158,17 @@
int *indexes;
float *rand;
float *cost;
- float *filters;
- char *cfilters;
- float *filter_updates;
+ char *cweights;
float *state;
+ float *prev_state;
+ float *forgot_state;
+ float *forgot_delta;
float *state_delta;
float *concat;
float *concat_delta;
- float *binary_filters;
+ float *binary_weights;
float *biases;
float *bias_updates;
@@ -116,6 +179,11 @@
float *weights;
float *weight_updates;
+ char *align_bit_weights;
+ float *mean_arr;
+ int lda_align;
+ int bit_align;
+
float *col_image;
int * input_layers;
int * input_sizes;
@@ -157,6 +225,14 @@
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;
@@ -174,11 +250,9 @@
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 *binary_weights_gpu;
float * mean_gpu;
float * variance_gpu;
@@ -196,6 +270,9 @@
float * weights_gpu;
float * weight_updates_gpu;
+ float * weights_gpu16;
+ float * weight_updates_gpu16;
+
float * biases_gpu;
float * bias_updates_gpu;
@@ -207,6 +284,17 @@
float * rand_gpu;
float * squared_gpu;
float * norms_gpu;
+ #ifdef CUDNN
+ cudnnTensorDescriptor_t srcTensorDesc, dstTensorDesc;
+ cudnnTensorDescriptor_t dsrcTensorDesc, ddstTensorDesc;
+ cudnnTensorDescriptor_t normTensorDesc, normDstTensorDesc, normDstTensorDescF16;
+ cudnnFilterDescriptor_t weightDesc;
+ cudnnFilterDescriptor_t dweightDesc;
+ cudnnConvolutionDescriptor_t convDesc;
+ cudnnConvolutionFwdAlgo_t fw_algo;
+ cudnnConvolutionBwdDataAlgo_t bd_algo;
+ cudnnConvolutionBwdFilterAlgo_t bf_algo;
+ #endif
#endif
};
--
Gitblit v1.10.0