From 655f636a42d6e1d4518b712cfac6d973424de693 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Sun, 08 Mar 2015 18:25:28 +0000
Subject: [PATCH] detection layer fixed

---
 src/detection_layer.c |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/detection_layer.c b/src/detection_layer.c
index bbc2e4f..d3cc1bd 100644
--- a/src/detection_layer.c
+++ b/src/detection_layer.c
@@ -53,13 +53,10 @@
             layer.output[out_i++] = scale*in[in_i++];
         }
         softmax_array(layer.output + out_i - layer.classes, layer.classes, layer.output + out_i - layer.classes);
-        activate_array(layer.output+out_i, layer.coords, SIGMOID);
+        activate_array(in+in_i, layer.coords, SIGMOID);
         for(j = 0; j < layer.coords; ++j){
             layer.output[out_i++] = mask*in[in_i++];
         }
-        //printf("%d\n", mask);
-        //for(j = 0; j < layer.classes+layer.coords; ++j) printf("%f ", layer.output[i*(layer.classes+layer.coords)+j]);
-        //printf ("\n");
     }
 }
 
@@ -78,10 +75,10 @@
             delta[in_i++] = scale*layer.delta[out_i++];
         }
         
+        gradient_array(layer.output + out_i, layer.coords, SIGMOID, layer.delta + out_i);
         for(j = 0; j < layer.coords; ++j){
             delta[in_i++] = layer.delta[out_i++];
         }
-        gradient_array(in + in_i - layer.coords, layer.coords, SIGMOID, layer.delta + out_i - layer.coords); 
         if(layer.rescore) delta[in_i-layer.coords-layer.classes-layer.rescore] = latent_delta;
     }
 }

--
Gitblit v1.10.0