From f9ecf6fd3f0df305d7103ecc3f15b23bba260baf Mon Sep 17 00:00:00 2001
From: AlexeyAB <alexeyab84@gmail.com>
Date: Mon, 21 May 2018 23:37:52 +0000
Subject: [PATCH] For Release build - equality check: output of [convolutional] == input of [yolo].

---
 src/parser.c     |   14 ++++++++++++--
 src/yolo_layer.c |    2 +-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/parser.c b/src/parser.c
index 2b013de..188ba54 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -270,7 +270,12 @@
 	int *mask = parse_yolo_mask(a, &num);
 	int max_boxes = option_find_int_quiet(options, "max", 30);
 	layer l = make_yolo_layer(params.batch, params.w, params.h, num, total, mask, classes, max_boxes);
-	assert(l.outputs == params.inputs);
+	if (l.outputs != params.inputs) {
+		printf("Error: l.outputs == params.inputs \n");
+		printf("filters= in the [convolutional]-layer doesn't correspond to classes= or mask= in [yolo]-layer \n");
+		exit(EXIT_FAILURE);
+	}
+	//assert(l.outputs == params.inputs);
 
 	//l.max_boxes = option_find_int_quiet(options, "max", 90);
 	l.jitter = option_find_float(options, "jitter", .2);
@@ -308,7 +313,12 @@
 	int max_boxes = option_find_int_quiet(options, "max", 30);
 
     layer l = make_region_layer(params.batch, params.w, params.h, num, classes, coords, max_boxes);
-    assert(l.outputs == params.inputs);
+	if (l.outputs != params.inputs) {
+		printf("Error: l.outputs == params.inputs \n");
+		printf("filters= in the [convolutional]-layer doesn't correspond to classes= or num= in [region]-layer \n");
+		exit(EXIT_FAILURE);
+	}
+    //assert(l.outputs == params.inputs);
 
     l.log = option_find_int_quiet(options, "log", 0);
     l.sqrt = option_find_int_quiet(options, "sqrt", 0);
diff --git a/src/yolo_layer.c b/src/yolo_layer.c
index e37c175..a03c18b 100644
--- a/src/yolo_layer.c
+++ b/src/yolo_layer.c
@@ -112,7 +112,7 @@
 void delta_yolo_class(float *output, float *delta, int index, int class_id, int classes, int stride, float *avg_cat, int focal_loss)
 {
     int n;
-    if (delta[index]){
+    if (delta[index + stride*class_id]){
         delta[index + stride*class_id] = 1 - output[index + stride*class_id];
         if(avg_cat) *avg_cat += output[index + stride*class_id];
         return;

--
Gitblit v1.10.0