(最好用的方法)YOLOv5读取train文件下的CSV文件绘制曲线进行不同模型效果对比

目录

目的:

代码:

效果图:

特别提示

解决办法: 将CSV文件数据后面 “,”进行手动删除即可。


目的:

为了方便对比不同模型的性能,我们可以通过读取train文件下的CSV文件绘制曲线从而达到直观的对比效果。这里采用的是yoloV5模型,具体代码如下:

代码:

# -*- coding: utf-8 -*-
# @Time : 2023/3/23 12:00
# @Auth : Hao

import matplotlib.pyplot as plt
import pandas as pd
import matplotlib as mpl
mpl.rcParams['font.family'] = 'sans-serif'
# mpl.rcParams['font.sans-serif'] = 'NSimSun,Times New Roman' #设置字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 正常显示中文标签
plt.figure()  # 设置图框
f=open("results.csv",encoding="utf-8")
#设置表头,为了方便取出你想要的那几列的数据。pd.read_csv具体用法可百度。这里为了方便我只设置了epoch和map0.5
df=pd.read_csv(f,delim_whitespace=True,names=["epoch","1","2","3","4","5","metrics/mAP_0.5","7","8","9","10","11","12","13"],
header=0,usecols=["epoch","metrics/mAP_0.5"])
step = df["epoch"].values.tolist()# 通过文件1表头信息读取文件内容
map= df["metrics/mAP_0.5"].values.tolist()# 通过文件表头信息读取文件内容
plt.plot(step,map,color='red',label='yolov5s+改进数据集') #设置曲线1相关系数
#同样的操作读取文件2的信息
plt.plot(step,map,color='blue',label='yolov5s')#设置曲线2的相关系数
plt.xticks(fontsize=10)
plt.yticks(fontsize=10)

plt.ylim(0, 1)
plt.xlim(0, 99)  # 设置坐标轴取值范围
plt.xlabel('epochs', fontsize=10)
plt.ylabel('mAP', fontsize=10)
plt.legend(fontsize=15, loc="upper right")  # 设置标签位置及大小
plt.show()

效果图:

 特别提示:

如果你的最终效果图如下所示:

解决办法: 将CSV文件数据后面 “,”进行手动删除即可。

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
YOLOv5PR曲线是用来评估目标检测模型性能的一种指标。PR曲线表示了在不同置信度阈值下,模型的召回率(Recall)和精确率(Precision)之间的关系。精确率表示模型预测为正样本的样本中真正为正样本的比例,而召回率表示模型能够正确检测到的正样本的比例。 在PR曲线中,横轴表示召回率,纵轴表示精确率。曲线上的每个点代表了在不同置信度阈值下的精确率和召回率。通过绘制PR曲线,我们可以观察到在不同置信度阈值下模型的性能表现,并可以选择最佳的置信度阈值来平衡召回率和精确率。 另外,mAP(mean Average Precision)是PR曲线下的面积,用于综合评估模型在多个类别上的性能。mAP是每个类别的AP值的平均数,AP表示在某个类别上的精确率和召回率之间的关系。mAP越高,表示模型在多个类别上的性能越好。 总结来说,YOLOv5PR曲线和mAP值可以帮助我们评估模型目标检测任务上的性能,选择最佳的置信度阈值,并比较不同模型的性能差异。 #### 引用[.reference_title] - *1* [【YOLO系列PR、F1绘图】更改v5、v7、v8(附v8训练、验证方式),实现调用val.py或者test.py后生成pr.csv,...](https://blog.csdn.net/LWD19981223/article/details/130327352)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [YOLOv5的参数IOU与PR曲线,F1 score](https://blog.csdn.net/weixin_38353277/article/details/120965060)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值