From 2ea63c0e99a5358eaf38785ea83b9c5923fcc9cd Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Thu, 13 Mar 2014 04:57:34 +0000
Subject: [PATCH] Better VOC handling and resizing
---
src/maxpool_layer.c | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/src/maxpool_layer.c b/src/maxpool_layer.c
index 8c409b9..413816a 100644
--- a/src/maxpool_layer.c
+++ b/src/maxpool_layer.c
@@ -17,10 +17,12 @@
return float_to_image(h,w,c,layer.delta);
}
-maxpool_layer *make_maxpool_layer(int h, int w, int c, int stride)
+maxpool_layer *make_maxpool_layer(int batch, int h, int w, int c, int stride)
{
+ c = c*batch;
fprintf(stderr, "Maxpool Layer: %d x %d x %d image, %d stride\n", h,w,c,stride);
maxpool_layer *layer = calloc(1, sizeof(maxpool_layer));
+ layer->batch = batch;
layer->h = h;
layer->w = w;
layer->c = c;
@@ -30,6 +32,15 @@
return layer;
}
+void resize_maxpool_layer(maxpool_layer *layer, int h, int w, int c)
+{
+ layer->h = h;
+ layer->w = w;
+ layer->c = c;
+ layer->output = realloc(layer->output, ((h-1)/layer->stride+1) * ((w-1)/layer->stride+1) * c * sizeof(float));
+ layer->delta = realloc(layer->delta, ((h-1)/layer->stride+1) * ((w-1)/layer->stride+1) * c * sizeof(float));
+}
+
void forward_maxpool_layer(const maxpool_layer layer, float *in)
{
image input = float_to_image(layer.h, layer.w, layer.c, in);
--
Gitblit v1.10.0