打印YOLOv5训练过程中每个类别的AP

  显示YOLOv5训练过程中单个类的AP

        YOLOv5训练状况下默认只显示mAP_0.5和mAP_0.5:0.95,想要查看最终每个类别的AP只能在训练结束后的PR曲线中查看。

        如果想在训练过程中打印,需要在val.py中270行附近修改

 if (verbose or (nc < 50 and not training)) and nc > 1 and len(stats):
        for i, c in enumerate(ap_class):
            LOGGER.info(pf % (names[c], seen, nt[c], p[i], r[i], ap50[i], ap[i]))

将第一行注释掉,并第二行第三行向前缩进:

    #if (verbose or (nc < 50 and not training)) and nc > 1 and len(stats):
    for i, c in enumerate(ap_class):
        LOGGER.info(pf % (names[c], seen, nt[c], p[i], r[i], ap50[i], ap[i]))

此时训练过程中每一轮都将显示每一个类别的AP。

### YOLOv5 自定义数据集训练完成后的模型验证方法 在使用自定义数据集训练 YOLOv5 模型之后,可以通过多种方式来评估和验证模型的性能。以下是详细的说明: #### 1. 使用测试集进行推理并计算指标 YOLOv5 提供了一个内置命令 `val` 来执行模型验证。该命令会基于指定的测试集自动计算多个评价指标,例如 mAP (mean Average Precision),Precision 和 Recall。 运行以下命令可以启动模型验证过程: ```bash python val.py --data custom_data.yaml --weights runs/train/exp/weights/best.pt --img 640 --batch 32 ``` 上述命令中的参数解释如下: - `--data`: 数据配置文件路径,通常命名为 `custom_data.yaml`[^1]。 - `--weights`: 已经训练好的权重文件路径。 - `--img`: 输入图像尺寸,默认为 640×640 像素。 - `--batch`: 验证时使用的批量大小。 通过此命令,程序会在终端打印出模型的各项性能指标,包括但不限于 AP@0.5, AP@0.5:0.95 等。 #### 2. 可视化预测结果 为了直观地查看模型的表现,还可以利用 YOLOv5 的检测脚本生成带有边界框的可视化图片或视频。这有助于发现潜在的问题区域以及误检情况。 调用以下命令可实现这一功能: ```bash python detect.py --source path_to_test_images_or_video --weights runs/train/exp/weights/best.pt --conf 0.25 --save-txt --save-conf ``` 其中: - `--source`: 测试样本的位置(单张图片、目录或者视频)。 - `--conf`: 设置置信度阈值以过滤低概率的目标。 - `--save-txt`: 将检测到的结果保存成文本格式。 - `--save-conf`: 同时存储每个目标对应的置信分数。 这些选项可以帮助进一步分析哪些类别容易被错误分类或是漏掉的情况发生。 #### 3. 调整超参数优化表现 如果初步验证结果显示模型效果不佳,则可能需要重新审视以下几个方面来进行改进: - **学习率调整**: 修改初始学习速率或其他调度策略可能会改善收敛速度与最终精度; - **增强数据预处理技术**: 应用更多样化的增广手段如随机裁剪、翻转等提升泛化能力; - **增加迭代次数**: 如果当前轮次不足以让网络充分学到特征,适当延长训练周期也许会有帮助; 以上措施均需结合具体应用场景灵活运用,并再次重复验证流程直至达到满意的效果为止。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值