赞
踩
目录
为了方便对比不同模型的性能,我们可以通过读取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()
特别提示:
如果你的最终效果图如下所示:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。