From 118bdd6f624a81c7b43689943485f8d70cbd944e Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Fri, 14 Feb 2014 18:26:31 +0000
Subject: [PATCH] Training on VOC

---
 src/convolutional_layer.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/convolutional_layer.c b/src/convolutional_layer.c
index cdfe9e1..6a103f6 100644
--- a/src/convolutional_layer.c
+++ b/src/convolutional_layer.c
@@ -41,8 +41,8 @@
     layer->biases = calloc(n, sizeof(float));
     layer->bias_updates = calloc(n, sizeof(float));
     layer->bias_momentum = calloc(n, sizeof(float));
-    float scale = 2./(size*size);
-    for(i = 0; i < c*n*size*size; ++i) layer->filters[i] = rand_normal()*scale;
+    float scale = 1./(size*size*c);
+    for(i = 0; i < c*n*size*size; ++i) layer->filters[i] = scale*(rand_uniform());
     for(i = 0; i < n; ++i){
         //layer->biases[i] = rand_normal()*scale + scale;
         layer->biases[i] = 0;
@@ -65,6 +65,7 @@
 
 void forward_convolutional_layer(const convolutional_layer layer, float *in)
 {
+    int i;
     int m = layer.n;
     int k = layer.size*layer.size*layer.c;
     int n = ((layer.h-layer.size)/layer.stride + 1)*
@@ -79,6 +80,11 @@
     im2col_cpu(in,  layer.c,  layer.h,  layer.w,  layer.size,  layer.stride, b);
     gemm(0,0,m,n,k,1,a,k,b,n,1,c,n);
 
+    for(i = 0; i < m*n; ++i){
+        layer.output[i] = activate(layer.output[i], layer.activation);
+    }
+    //for(i = 0; i < m*n; ++i) if(i%(m*n/10+1)==0) printf("%f, ", layer.output[i]); printf("\n");
+
 }
 
 void gradient_delta_convolutional_layer(convolutional_layer layer)

--
Gitblit v1.10.0