yolov5训练完成后精度相关问题

yolov5相关问题,我训练完成后怎么看每一类的精度呢?
请问一下,最后结果出来不是一张表然后有每个epoch的准确率、召回率那些嘛,但是看论文都是一个准确的百分比是怎么取的呢?

该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
在训练Yolov5模型时,可以使用Tensorboard来监视每个epoch的训练和验证指标,包括每个类别的准确率和召回率。在训练过程中,可以使用以下命令在终端中启动Tensorboard:

tensorboard --logdir=path/to/runs

其中,path/to/runs是训练输出目录,例如runs/train/exp1。启动Tensorboard后,可以在Web浏览器中打开http://localhost:6006来查看指标图表。

在训练完成后,可以使用Yolov5提供的test.py脚本来计算测试集的准确率和召回率。该脚本会输出每个类别的精度和召回率,以及平均精度(mAP)指标。以下是使用test.py脚本计算测试集指标的示例命令:

python test.py --weights path/to/trained/weights.pt --data path/to/data.yaml --img 640 --iou 0.65

其中,path/to/trained/weights.pt是训练好的权重文件,path/to/data.yaml是数据集的配置文件,--img参数指定输入图像的大小,--iou参数指定IOU阈值。运行test.py脚本后,将输出每个类别的精度和召回率,以及平均精度(mAP)指标。

在论文中,通常会报告模型在测试集上的平均精度(mAP)指标,这是所有类别精度和召回率的加权平均值。例如,如果有10个类别,则每个类别的权重为1/10,mAP指标是每个类别mAP的加权平均值。在Yolov5中,可以使用test.py脚本来计算mAP指标。


如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7729374
  • 你也可以参考下这篇文章:【目标检测】YOLOv5:640与1280分辨率效果对比
  • 除此之外, 这篇博客: YOLOV5超参数设置与数据增强解析中的 3、当学习率计划使用epoch号时,预热计划可以这样使用: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    lr_scheduler = torch.optim.lr_scheduler.MultiStepLR(optimizer, milestones=[num_epochs//3], gamma=0.1)
    warmup_scheduler = warmup.UntunedLinearWarmup(optimizer)
    for epoch in range(1,num_epochs+1):
        for iter, batch in enumerate(dataloader):
            optimizer.zero_grad()
            loss = ...
            loss.backward()
            optimizer.step()
            if iter < len(dataloader)-1:
                with warmup_scheduler.dampening():
                    pass
        with warmup_scheduler.dampening():
            lr_scheduler.step()
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^