最近忙于搞毕设,解决到什么比较恶心的问题或者网上不好搜的问题就写篇文章记录下,希望能帮到后来人。
一、问题
训练过程中,出现了所有参数全为-nan的情况。
我下的是FLIR的数据集,用的里面thermal_8_bit的图,即jpeg格式图片(此为伏笔)。一开始以为是标注文件的问题,因为我在labels文件夹中存放.txt标注文件时,一训练结果提示在labels文件夹中未见测到xxxxx.jpeg文件,训练失败。将所有图片复制一份进labels文件夹后就没再报错,于是理所当然以为yolo没有检测到.txt文件或者里头的坐标等有问题。自查发现txt文件中也没用逗号,自己手动用labelImg标注了1000张训练了一波还是报错,多次尝试无果只能像无头苍蝇继续查。
二、“jpeg和JPEG”
最后无意间看到自己曾经看过的一篇文章,链接:目标检测:yolov3训练自己的数据模型,避免踩坑(包含常见问题集锦),(非常感谢这位大神),其中提到过全-nan是由于该博主图片格式问题(他是bmp格式),虽然之前看到过很多篇文章都说yolo支持jpg、jpeg和png格式,以防万一还是查查看。
进入data.c
进yolo文件夹中darknet/src/data.c,使用ctrl+h快捷键寻找find_replace如下:
find_replace(path