Fixed memory leaks for Yolo: train, test

This commit is contained in:
AlexeyAB
2018-05-23 18:27:18 +03:00
parent 768b190b10
commit ec68838342
8 changed files with 73 additions and 13 deletions

View File

@ -175,6 +175,7 @@ void find_replace(char *str, char *orig, char *rep, char *output)
sprintf(buffer, "%s", str);
if(!(p = strstr(buffer, orig))){ // Is 'orig' even in 'str'?
sprintf(output, "%s", str);
free(buffer);
return;
}
@ -194,6 +195,7 @@ void find_replace_extension(char *str, char *orig, char *rep, char *output)
int chars_from_end = strlen(buffer) - offset;
if (!p || chars_from_end != strlen(orig)) { // Is 'orig' even in 'str' AND is 'orig' found at the end of 'str'?
sprintf(output, "%s", str);
free(buffer);
return;
}
@ -206,13 +208,13 @@ void find_replace_extension(char *str, char *orig, char *rep, char *output)
void replace_image_to_label(char *input_path, char *output_path) {
//find_replace(input_path, "images", "labels", output_path); // COCO
find_replace(input_path, "images/train2014/", "labels/train2014/", output_path); // COCO
find_replace(input_path, "images/val2014/", "labels/val2014/", output_path); // COCO
find_replace(output_path, "images/val2014/", "labels/val2014/", output_path); // COCO
//find_replace(output_path, "JPEGImages", "labels", output_path); // PascalVOC
find_replace(output_path, "VOC2007/JPEGImages", "VOC2007/labels", output_path); // PascalVOC
find_replace(output_path, "VOC2012/JPEGImages", "VOC2012/labels", output_path); // PascalVOC
// replace only ext of files
find_replace_extension(output_path, ".jpg", ".txt", output_path);
find_replace_extension(output_path, ".JPG", ".txt", output_path);
find_replace_extension(output_path, ".JPG", ".txt", output_path); // error
find_replace_extension(output_path, ".jpeg", ".txt", output_path);
find_replace_extension(output_path, ".JPEG", ".txt", output_path);
find_replace_extension(output_path, ".png", ".txt", output_path);
@ -285,7 +287,7 @@ void strip(char *s)
size_t offset = 0;
for(i = 0; i < len; ++i){
char c = s[i];
if(c==' '||c=='\t'||c=='\n'||c =='\r') ++offset;
if(c==' '||c=='\t'||c=='\n'||c =='\r'||c==0x0d||c==0x0a) ++offset;
else s[i-offset] = c;
}
s[len-offset] = '\0';