Yolo系列算法PRmAP一直为0的苦恼终于被解决了

Yolo系列算法PRmAP一直为0的苦恼终于被解决了 近日帮朋友在做yolo目标检测的训练时我们的数据集是小目标检测用的是yolov7然后训练的时候一直P、R、mAP值都是0不管怎么训练更换模型或是修改参数、更换数据集之类的都是一样的结果如下图所示有的人说训练的久一点但是我们测试了也还是不行。这里就不给大家展示更多的训练了训练到最后PR到0.1.也有人说把这里添加一个defaultTrue,依旧不行直接上干货找到YOLOV7的train里360行左右修改如下代码解释一下30系列或者40系列的显卡是amp.autocast(enabledcuda)我的是50系列的显卡这里修改成了torch.amp.autocast(‘cuda’, enabledcuda):withtorch.amp.autocast(cuda,enabledcuda):predmodel(imgs)# forwardifloss_otanotinhyporhyp[loss_ota]1:loss,loss_itemscompute_loss_ota(pred,targets.to(device),imgs)# loss scaled by batch_sizeelse:loss,loss_itemscompute_loss(pred,targets.to(device))# loss scaled by batch_sizeifrank!-1:loss*opt.world_size# gradient averaged between devices in DDP modeifopt.quad:loss*4.直接将这几段代码注释掉修改成下面这个代码predmodel(imgs)# forwardloss,loss_itemscompute_loss(pred,targets.to(device))重新训练是不是可以了我有尝试把这个default重新加上但是差别不大。parser.add_argument(--single-cls,defaultTrue,helptrain multi-class data as single-class)# actionstore_true,觉得慢的可以更换成tiny版本的yolov7同时修改yolov7-tiny.yaml里面的nc改为自己的类别数。好了大家可以看到基本上在上升了。大家快去试试吧有问题私信我欢迎继续讨论。