fix(knowing framework/yolov2 region layer): free region layer thresholds

This commit is contained in:
yangtuo250
2021-12-16 10:39:50 +08:00
parent c782dd26c4
commit 62df72af5b
7 changed files with 42 additions and 22 deletions

View File

@@ -58,12 +58,14 @@ int region_layer_init(region_layer_t *rl, int width, int height, int channels, i
goto malloc_error;
}
for (uint32_t i = 0; i < rl->boxes_number; i++) rl->probs[i] = &(rl->probs_buf[i * (rl->classes + 1)]);
rl->threshold = malloc(rl->classes * sizeof(float));
return 0;
malloc_error:
free(rl->output);
free(rl->boxes);
free(rl->probs_buf);
free(rl->probs);
free(rl->threshold);
return flag;
}
@@ -73,6 +75,7 @@ void region_layer_deinit(region_layer_t *rl)
free(rl->boxes);
free(rl->probs_buf);
free(rl->probs);
free(rl->threshold);
}
static inline float sigmoid(float x) { return 1.f / (1.f + expf(-x)); }