For Release build - equality check: output of [convolutional] == input of [yolo].

pull/901/head^2
AlexeyAB 7 years ago
parent d01a686246
commit f9ecf6fd3f
  1. 14
      src/parser.c
  2. 2
      src/yolo_layer.c

@ -270,7 +270,12 @@ layer parse_yolo(list *options, size_params params)
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 @@ layer parse_region(list *options, size_params params)
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);

@ -112,7 +112,7 @@ float delta_yolo_box(box truth, float *x, float *biases, int n, int index, int i
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;

Loading…
Cancel
Save