双眸若星辰 2024-03-15 21:03 采纳率: 36.4%
浏览 37
已结题

yolov5训练结果没有png文件

yolov5 训练结果没有混淆矩阵 pr曲线等png 文件 哪里的问题

  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-03-15 21:04
    关注

    引自免费微信小程序:皆我百晓生

    在使用Yolov5进行训练时,通常会在输出目录下生成一系列训练过程的可视化文件,包括训练损失曲线、mAP曲线等,但并不会直接生成混淆矩阵和PR曲线对应的PNG图片。如果想要得到混淆矩阵和PR曲线的可视化结果,你需要手动计算并绘制。

    以下是解决该问题的步骤:

    1. 混淆矩阵

      • 首先,在测试阶段,你需要将模型预测的结果与真实标签进行比较,从而计算出混淆矩阵。
      • 可以通过以下代码片段(基于Python和PyTorch)来实现混淆矩阵的计算:
        from sklearn.metrics import confusion_matrix
        # 假设preds是模型预测的类别,labels是真实的类别
        preds = torch.argmax(model_output, dim=1)
        labels = ground_truth_labels
        conf_mat = confusion_matrix(labels.cpu().numpy(), preds.cpu().numpy())
        
    2. 绘制混淆矩阵

      • 使用matplotlib库绘制混淆矩阵为PNG图片:
        import matplotlib.pyplot as plt
        import seaborn as sns
        sns.set(style="whitegrid")
        fig, ax = plt.subplots()
        sns.heatmap(conf_mat, annot=True, fmt='d', cmap='Blues', ax=ax)
        plt.xlabel('Predicted')
        plt.ylabel('True')
        plt.title('Confusion Matrix')
        plt.savefig('confusion_matrix.png')
        
    3. PR曲线

      • 对于目标检测任务,一般会计算每个类别的Precision-Recall曲线,而非单一的整体混淆矩阵。
      • 你可以使用COCO API或其他相关工具包评估你的预测结果,并获取到每个类别的Precision和Recall值,进而绘制PR曲线。
      • 下面是一个简化的示例,假设你已经有了precision和recall数据:
        from sklearn.metrics import precision_recall_curve
        import numpy as np
        
        # 假设precisions和recalls是已经计算好的精度和召回率列表,对应不同的阈值
        precisions = ...
        recalls = ...
        
        plt.step(recalls, precisions, color='b', alpha=0.2,
                 where='post')
        plt.fill_between(recalls, precisions, step='post', alpha=0.2,
                        color='b')
        
        plt.xlabel('Recall')
        plt.ylabel('Precision')
        plt.ylim([0.0, 1.05])
        plt.xlim([0.0, 1.0])
        plt.title('Precision-Recall curve')
        plt.savefig('pr_curve.png')
        

    请注意,以上代码仅作为示例,具体实现时需要根据实际项目中 yolov5 的输出和数据格式进行调整。如果你使用的是YOLOv5提供的评估脚本如test.pyeval.py,可以查看其输出的日志或者修改源码来增加混淆矩阵和PR曲线的绘制功能。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月22日
  • 创建了问题 3月15日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表