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