From e43a1c424d9a20b8425d8dd8f240867f2522df3f Mon Sep 17 00:00:00 2001 From: AlexeyAB Date: Wed, 18 Dec 2019 03:53:40 +0300 Subject: [PATCH] Fixed a bug in counters_per_class= --- src/data.c | 2 +- src/gaussian_yolo_layer.c | 2 +- src/yolo_layer.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/data.c b/src/data.c index fce3ed99..b84ae7c2 100644 --- a/src/data.c +++ b/src/data.c @@ -1545,7 +1545,7 @@ data load_data_augment(char **paths, int n, int m, char **labels, int k, tree *h int i, j; for (i = 0; i < d2.X.rows; ++i) { - if (mixup == 4) mixup = rand_int(2, 3); // alternate MixUp and CutMix + if (mixup == 4) mixup = rand_int(2, 3); // alternate CutMix and Mosaic // MixUp ----------------------------------- if (mixup == 1) { diff --git a/src/gaussian_yolo_layer.c b/src/gaussian_yolo_layer.c index fe72c3c7..82053e25 100644 --- a/src/gaussian_yolo_layer.c +++ b/src/gaussian_yolo_layer.c @@ -341,7 +341,7 @@ void delta_gaussian_yolo_class(float *output, float *delta, int index, int class } for(n = 0; n < classes; ++n){ delta[index + stride*n] = ((n == class_id) ? (1 - label_smooth_eps) : (0 + label_smooth_eps/classes)) - output[index + stride*n]; - if (classes_multipliers) delta[index + stride*class_id] *= classes_multipliers[class_id]; + if (classes_multipliers && n == class_id) delta[index + stride*class_id] *= classes_multipliers[class_id]; if(n == class_id && avg_cat) *avg_cat += output[index + stride*n]; } } diff --git a/src/yolo_layer.c b/src/yolo_layer.c index 66a0ae4c..919c26f0 100644 --- a/src/yolo_layer.c +++ b/src/yolo_layer.c @@ -250,7 +250,7 @@ void delta_yolo_class(float *output, float *delta, int index, int class_id, int // default for (n = 0; n < classes; ++n) { delta[index + stride*n] = ((n == class_id) ? (1 - label_smooth_eps) : (0 + label_smooth_eps/classes)) - output[index + stride*n]; - if (classes_multipliers) delta[index + stride*class_id] *= classes_multipliers[class_id]; + if (classes_multipliers && n == class_id) delta[index + stride*class_id] *= classes_multipliers[class_id]; if (n == class_id && avg_cat) *avg_cat += output[index + stride*n]; } }