看到github和众多网站介绍Tianxiaomo的pytorch-YOLOv4,而且start超过2.4k,但是自己训练和测试怎么也检测不出来物体,尝试很久都没成功,偶然看到https://github.com/Tianxiaomo/pytorch-YOLOv4/issues/75,才知道这是作者埋下的巨坑,坑死了一批接触这个项目的人。看下面的坑,一般人都不知道
第一,demo.py测试yolov4.weights才有效果,你测试作者yolov4.pth什么也检测不出来!而且评估coco数据集必须得用yolov4.weights!
第二,训练的时候,预训练模型是yolov4.pth不是yolov4.conv.137。我亲自尝试用yolov4.conv.137训练的模型有问题,而且不能用,推理的结果全是nan!至于是yolov4.pth还没有测试,不过按照issues/75。确定无疑了
第三,github的问题作者都不带回的,问了等于白问,遇到问题还得靠自己了
第四,那到底怎么测试自己训练的pth模型呢?目前还没找到办法,希望有大佬出来解释一下原因
第二次更新:
作者yolov4.pth可以通过models.py中的案例检测出来,目前经过2次训练,得出结论,这个项目训练的模型不能用。因此建议不要使用Tianxiaomo的pytorch-YOLOv4模型进行训练,测试使用还可以
第三次更新:
demo.py测试yolov4.weights才有效果,你测试作者yolov4.pth什么也检测不出来原因已被找到,只要设置cfg.py文件中Cfg.use_darknet_cfg = False即可。
目前测试训练的模型都不能用,这个项目不能用来训练自己的数据
至此先前问题都解决了,花了很长时间,只怪作者没有讲解清楚,作者真是不负责任了!