当前位置:   article > 正文

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

yolo绘制results.csv文件数据对比图

目录

目的:

代码:

效果图:

特别提示

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


目的:

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

代码:

  1. # -*- coding: utf-8 -*-
  2. # @Time : 2023/3/23 12:00
  3. # @Auth : Hao
  4. import matplotlib.pyplot as plt
  5. import pandas as pd
  6. import matplotlib as mpl
  7. mpl.rcParams['font.family'] = 'sans-serif'
  8. # mpl.rcParams['font.sans-serif'] = 'NSimSun,Times New Roman' #设置字体
  9. plt.rcParams['font.sans-serif'] = ['SimHei'] # 正常显示中文标签
  10. plt.figure() # 设置图框
  11. f=open("results.csv",encoding="utf-8")
  12. #设置表头,为了方便取出你想要的那几列的数据。pd.read_csv具体用法可百度。这里为了方便我只设置了epoch和map0.5
  13. 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"],
  14. header=0,usecols=["epoch","metrics/mAP_0.5"])
  15. step = df["epoch"].values.tolist()# 通过文件1表头信息读取文件内容
  16. map= df["metrics/mAP_0.5"].values.tolist()# 通过文件表头信息读取文件内容
  17. plt.plot(step,map,color='red',label='yolov5s+改进数据集') #设置曲线1相关系数
  18. #同样的操作读取文件2的信息
  19. plt.plot(step,map,color='blue',label='yolov5s')#设置曲线2的相关系数
  20. plt.xticks(fontsize=10)
  21. plt.yticks(fontsize=10)
  22. plt.ylim(0, 1)
  23. plt.xlim(0, 99) # 设置坐标轴取值范围
  24. plt.xlabel('epochs', fontsize=10)
  25. plt.ylabel('mAP', fontsize=10)
  26. plt.legend(fontsize=15, loc="upper right") # 设置标签位置及大小
  27. plt.show()

效果图:

 特别提示:

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/129785
推荐阅读
相关标签
  

闽ICP备14008679号