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