From d00f0a1ccd2a9b1c332bbf7754f291dd61dee14f Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Tue, 21 Jul 2015 23:09:33 +0000
Subject: [PATCH] Changes to make routing work better
---
src/convolutional_layer.c | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/src/convolutional_layer.c b/src/convolutional_layer.c
index 9c0dabe..c3a3718 100644
--- a/src/convolutional_layer.c
+++ b/src/convolutional_layer.c
@@ -97,12 +97,18 @@
return l;
}
-void resize_convolutional_layer(convolutional_layer *l, int h, int w)
+void resize_convolutional_layer(convolutional_layer *l, int w, int h)
{
- l->h = h;
l->w = w;
- int out_h = convolutional_out_height(*l);
+ l->h = h;
int out_w = convolutional_out_width(*l);
+ int out_h = convolutional_out_height(*l);
+
+ l->out_w = out_w;
+ l->out_h = out_h;
+
+ l->outputs = l->out_h * l->out_w * l->out_c;
+ l->inputs = l->w * l->h * l->c;
l->col_image = realloc(l->col_image,
out_h*out_w*l->size*l->size*l->c*sizeof(float));
@@ -116,9 +122,9 @@
cuda_free(l->delta_gpu);
cuda_free(l->output_gpu);
- l->col_image_gpu = cuda_make_array(l->col_image, out_h*out_w*l->size*l->size*l->c);
- l->delta_gpu = cuda_make_array(l->delta, l->batch*out_h*out_w*l->n);
- l->output_gpu = cuda_make_array(l->output, l->batch*out_h*out_w*l->n);
+ l->col_image_gpu = cuda_make_array(0, out_h*out_w*l->size*l->size*l->c);
+ l->delta_gpu = cuda_make_array(0, l->batch*out_h*out_w*l->n);
+ l->output_gpu = cuda_make_array(0, l->batch*out_h*out_w*l->n);
#endif
}
@@ -182,8 +188,6 @@
gradient_array(l.output, m*k*l.batch, l.activation, l.delta);
backward_bias(l.bias_updates, l.delta, l.batch, l.n, k);
- if(state.delta) memset(state.delta, 0, l.batch*l.h*l.w*l.c*sizeof(float));
-
for(i = 0; i < l.batch; ++i){
float *a = l.delta + i*m*k;
float *b = l.col_image;
--
Gitblit v1.10.0