YOLOv5s训练结果result.txt绘制loss/mAP等曲线对比图

这段代码用于从YOLOv5s的训练结果result.txt文件中提取数据,绘制box、objectness和classification的loss曲线图。首先将CSV格式转换为TXT,然后使用numpy和matplotlib库处理数据并生成图表,最终保存为loss.png。
摘要由CSDN通过智能技术生成

YOLOv5s训练结果result.txt绘制loss/mAP等曲线对比图

引用代码

'''
我的训练完是csv格式,另存为txt格式即可
画loss图的代码,前提是results.txt文档中只能是数字,先删除掉txt中的字符
我的第1列是epoch是0,1,2,...的格式,删掉逗号
第2、3、4列分别是box、objectness、classification 的loss值
'''
import os

import numpy as np
import matplotlib.pyplot as plt
import pylab as pl
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
data1_loss =np.loadtxt("D:/code/yolov5s/results.txt")   #result.txt地址
#print(data1_loss[0])


x = data1_loss[:,0]   #冒号左边是行范围,冒号右边列范围。取第1列
y = data1_loss[:,1]   #取第2列
y1 = data1_loss[:,2]   #取第3列
y2 = data1_loss[:,3]   #取第4列

fig = plt.figure(figsize = (7,5))       #figsize是图片的大小`
ax1 = fig.add_subplot(1, 1, 1) # ax1是子图的名字`
pl.plot(x,y,'r-',label=u'Box_Loss')
pl.plot(x,y1,'g-',label=u'Objectness_Loss')
pl.plot(x,y2,'y-',label=u'Classification_Loss')

# ‘’g‘’代表“green”,表示画出的曲线是绿色,“-”代表画的曲线是实线,可自行选择,label代表的是图例的名称,一般要在名称前面加一个u,如果名称是中文,会显示不出来,目前还不知道怎么解决。
# p2 = pl.plot(x,y,'r-', label = u'Box_Loss')
#显示图例
# p3 = pl.plot(x,y1, 'b-', label = u'Objectness_Loss')
# p4 = pl.plot(x,y2, 'y-', label = u'Classification_Loss')

pl.legend()
pl.xlabel(u'epoch')
pl.ylabel(u'loss')
# plt.title(' loss for yolov3 models in training')
plt.savefig(os.path.join('D:/code/yolov5s/pic', 'loss.png'))#保存图片,第一个是指存储路径,第二个是图片名字
plt.show()

另外奉上各种线性颜色:参考
大概是够用了!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值