我想自己做一套自动生成label、图片以及训练测试txt用于训练yolo网络。但是不清楚yolo网络训练时,从哪个配置文件读入的labels。

问题遇到的现象和发生背景

我在自己制作数据集时,已经成功创建了X.data,X.name,X_train.txt,X_test.txt,yolov4-tiny-X.cfg,以及一个装有img的pic文件夹以及一个装有label标定的labels文件夹。
但是在执行以下命令时,想了解darknet是从哪个配置文件获取到我的labels所在位置并用于训练的。因为在文件“X.data”中根本呢没有相应的labels的路径说明。
darknet.exe detector train data\X.data cfg\yolov4-tiny-X.cfg yolov4-tiny.conv.29

问题相关代码,请勿粘贴截图

utils.h中

    find_replace(input_path, "/images/train2017/", "/labels/train2017/", output_path);    // COCO
    find_replace(output_path, "/images/val2017/", "/labels/val2017/", output_path);        // COCO
    find_replace(output_path, "/JPEGImages/", "/labels/", output_path);    // PascalVOC
    find_replace(output_path, "\\images\\train2017\\", "\\labels\\train2017\\", output_path);    // COCO
    find_replace(output_path, "\\images\\val2017\\", "\\labels\\val2017\\", output_path);        // COCO

    find_replace(output_path, "\\images\\train2014\\", "\\labels\\train2014\\", output_path);    // COCO
    find_replace(output_path, "\\images\\val2014\\", "\\labels\\val2014\\", output_path);        // COCO
    find_replace(output_path, "/images/train2014/", "/labels/train2014/", output_path);    // COCO
    find_replace(output_path, "/images/val2014/", "/labels/val2014/", output_path);        // COCO
运行结果及报错内容

上述为darknet.sln项目中的部分代码,是否这个darknet工程只能用于指定数据集的数据识别?如果是自己的数据集的话,如何放置或者修改能够真正进行训练?

我的解答思路和尝试过的方法

我尝试修改我的存储图片的文件夹名称为JPEGImages中,但是不确定编译好的darknet.exe放在哪个文件夹下可以生效。

我想要达到的结果

我想要知道程序如何获知我的labels的路径并读取到他们,未来我打算使用qt结合进行控制台命令darknet进行训练数据集而不让使用者感觉到,该如何进行呢?


------coco
  |-----images
       |-------train2017
       |-------val2017
  |-----labels
       |-------train2017
       |-------val2017

数据集要这么放,image下面放图片,train里面放训练图片,val放验证集图片,labels放标签,标签要和image下面的图片对应,图片在train2017,标签也要在train2017,val同理