ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

使用results.csv文件数据绘制mAP对比图

2026/10/4 17:03:56 拓冰建站 浏览量
使用results.csv文件数据绘制mAP对比图

yolov5每次train完成(如果没有中途退出)都会在run目录下生成expX目录(X代表生成结果次数 第一次训练完成生成exp0 第二次生成exp1…以此类推)。expX目录下会保存训练生成的weights以及result.txt文件,其中weights是训练生成权重,可用于detect。

在写论文时我们需要以可视化的方式展示训练结果 -> result.png。在此以mAP@0.5为例绘制

import csv
import matplotlib.pyplot as plt
import pandas as pd
import numpy  as np
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False    # 用来正常显示负号
df1 = pd.read_csv("results1.csv")   #读取文件1
df2 = pd.read_csv("results2.csv")   #读取文件2epoch_1 = df1["               epoch"].values.tolist()                     #通过文件表头信息读取文件内容
mAP5_1  = df1["     metrics/mAP_0.5"].values.tolist()epoch_2 = df2["               epoch"].values.tolist()                     #通过文件表头信息读取文件内容
mAP5_2  = df2["     metrics/mAP_0.5"].values.tolist()plt.figure(figsize=(8, 5))
plt.plot(epoch_1,mAP5_1,color='red',  label='yolov5s改进算法')       #设置曲线相关系数
plt.plot(epoch_2,mAP5_2,color='black',label='yolov5s原始算法')       #设置曲线相关系数plt.xticks(fontsize=10)
plt.yticks(fontsize=10)plt.ylim(0, 1)
plt.xlim(0, 100)                        #设置坐标轴取值范围
plt.xlabel('epochs', fontsize=14)
plt.ylabel('mAP_0.5', fontsize=14)
plt.legend(fontsize=12,loc="best") #设置标签位置及大小
plt.savefig("test.png",bbox_inches='tight')
plt.show()

在这里插入图片描述