解决YOLOV5训练时P、R、mAP等值均为0的问题

最近用YOLOV5训练自己的数据集,出现了训练失败的情况,比如box,obj,cls,labels等均为nan或0,找了很多办法,其实就是cuda与PyTorch版本的问题

Epoch   gpu_mem      box       obj       cls    labels  img_size
0/499     1.76G  	 nan   	   nan       nan      25       640: 100%|██████████| 140/140 [04:19<00:00,  1.85s/it]                                          
       Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95: 100%|██████████| 8/8 [00:05<00:00,  1.50it/s]                              
        all         63         0            0          0          0          0

我的cuda版本是11.2,PyTorch1.9,可能以前安装的有问题,重新安装官网的cuda11.3版本也是没有解决,可能重置电脑后用11.3的才能跑通,在网上找了很多办法,安装cuda10.2版本与对应的PyTorch即可

这里我没有卸载cuda11.3,直接安装了cuda10.2与对应的cudnn,注意一下如果电脑有多个cuda共存的时候,安装一定要选择自定义安装,安装的时候有三个选项,第一个选项是cuda,只选择cuda即可,后面两个选项不要选择! 这里我已经安装完了就懒得再截图了,注意一下别选可以了。

cuda10.2下载:https://developer.nvidia.com/cuda-10.2-download-archive
cudnn下载,选择对应cuda10.2的即可,注意配置cudnn的环境变量:https://developer.nvidia.com/rdp/cudnn-download

安装对应PyTorch:cuda10.2版本已经不可用了,但是在以前的版本中可以找到,点击install previous versions of PyTorch进去找对应版本即可
在这里插入图片描述

yolov5就可以正常训练了:
在这里插入图片描述

  • 10
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论
### 回答1: 可能是由于以下原因导致的: 1. 数据集中没有目标物体或者标注有误,导致模型无法学习到有效的特征。 2. 训练参数设置不当,例如学习率过大或过小,训练轮数不足等。 3. 硬件配置不足,例如显存不足,导致模型无法正常训练。 建议检查数据集和标注是否正确,调整训练参数,增加训练轮数,并确保硬件配置足够。 ### 回答2: YOLOv5是一种流行的目标检测算法,它在许多计算机视觉任务中都得到了广泛应用。在YOLOv5训练过程中,p、r和map是非常重要的评估指标,它们能够反映出模型的性能。 当p、r和map全为0,这通常表示着模型的性能非常糟糕,可能存在一些问题导致训练结果无法评估。 有几个常见的原因会导致这种情况: 1. 数据问题:如果训练数据集中存在一些问题,例如数据标注不准确或者存在缺失标签等情况,都可能导致模型的性能下降。因此,在训练之前应该对数据集进行仔细的检查和处理,确保数据的质量和完整性。 2. 模型参数问题:模型的参数设置也非常重要,如果参数设置不合理,例如学习率过高或过低,正则化项过强等,都会对模型的训练效果造成严重影响。因此,在进行模型训练前,需要仔细地选择参数并进行调优。 3. 训练过程问题训练过程中存在一些问题也可能导致p、r和map全为0。例如过拟合或欠拟合等情况都需要对训练过程进行仔细调整。此外,可能需要将训练数据集划分成更小的批次,使用更小的学习率等。 4. 环境问题:最后,环境问题也可能会影响p、r和map指标。例如,训练的硬件设备性能不佳或训练过程中的崩溃等情况都可能影响模型的训练效果。因此,在训练之前需要确保环境的稳定性和性能。 总之,当p、r和map全为0,需要对训练过程进行仔细的调查和诊断,寻找问题的根源并进行相应的解决。只有在充分理解和解决这些问题后,才能获得良好的模型性能和准确的评估结果。 ### 回答3: 在训练yolov5模型的过程中,可能会遇到PR值和mAP均为0的情况,这通常是由于以下几个原因导致的: 1. 数据集问题:数据集可能存在错误标注或者数据严重失衡,导致模型训练无法学习到有效信息。此可以检查数据集标注是否正确,并尝试平衡数据集。 2. 训练参数问题:可能是训练过程中的一些参数设置不合理导致结果为0。此需要检查模型参数和训练参数,如学习率等。 3. 模型结构问题:模型结构的选择和设计也很重要,如果选择的模型结构不合适,或者设计的不合理,有可能会导致训练结果为0。可以尝试在模型结构上进行改进和调整,比如增加层数或调整卷积核大小等。 4. 训练数据不足:如果训练集不够大或者数据量不足,也会导致PR值和mAP值为0。此可以尝试增加训练集的大小或者使用数据增强进行扩充。 综上所述,当yolov5训练PR和mAP值全为0,需要仔细检查数据集、训练参数、模型结构以及训练数据是否充足,找到问题所在然后进行相应的调整和改进,从而提高模型的训练效果。
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GeniusAng丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值