rknn_model_zoo icon indicating copy to clipboard operation
rknn_model_zoo copied to clipboard

Fix memory leaks

Open Qengineering opened this issue 1 year ago • 2 comments

Qengineering avatar Apr 27 '24 12:04 Qengineering

There is no memory leak here, real_seg_mask is freed in main. ( free(seg_mask); )

scangit avatar Jul 16 '24 08:07 scangit

On which line in main.cc? I don't want to complain, but the memory consumption of the CPP examples really increased evenly.

Qengineering avatar Jul 16 '24 09:07 Qengineering

https://github.com/airockchip/rknn_model_zoo/blob/main/examples/yolov5_seg/cpp/main.cc#L119

airockchip avatar Aug 08 '24 11:08 airockchip

Sorry, we're not talking about seg_mask, but real_seg_mask in rknpu1/postprocess.cc or rknpu2/postprocess.cc

    uint8_t *real_seg_mask = (uint8_t *)malloc(ori_in_height * ori_in_width * sizeof(uint8_t));
    seg_reverse(all_mask_in_one, cropped_seg_mask, real_seg_mask,
                model_in_height, model_in_width, cropped_height, cropped_width, ori_in_height, ori_in_width, y_pad, x_pad);
    od_results->results_seg[0].seg_mask = real_seg_mask;
    free(all_mask_in_one);
    free(cropped_seg_mask);
    free(seg_mask);

It should be freed in the series at the end.

    free(all_mask_in_one);
    free(cropped_seg_mask);
    free(real_seg_mask);   <<<--------------------
    free(seg_mask);

Qengineering avatar Aug 08 '24 16:08 Qengineering