当前位置: 首页 > news >正文

南昌网站改版公司安徽省建设厅证件查询官网

南昌网站改版公司,安徽省建设厅证件查询官网,前端电商网站设计论文,哪里网站建设联系视频演示 手搓一个可以自动化对比yolo模型性能曲线的工具目录 视频演示 工具功能亮点 使用步骤 代码实现关键点 1. 初始化和UI布局 2. 文件加载和数据存储 3. 曲线绘制更新 4. 保存和辅助功能 注意事项 大家好,我是Coding茶水间。 今天分享一个实用工具—…

视频演示

手搓一个可以自动化对比yolo模型性能曲线的工具

目录

视频演示

工具功能亮点

使用步骤

代码实现关键点

1. 初始化和UI布局

2. 文件加载和数据存储

3. 曲线绘制更新

4. 保存和辅助功能

注意事项


大家好,我是Coding茶水间。

今天分享一个实用工具——yolo模型性能曲线的工具。

它可以帮助你在论文写作或模型评估中,轻松对比不同YOLO版本(如YOLOv5、YOLOv8、YOLOv11、YOLOv12)的训练结果曲线。

工具基于PyQt5开发,支持加载多个CSV文件、自定义曲线颜色、修改图例标签、调整坐标轴,并保存高清图片。

这个工具源于日常需求:训练多个YOLO模型后,每个模型都有独立的results.csv文件,包含epoch、loss、precision、recall、mAP等指标。

如果要对比曲线,通常需要手动用Matplotlib或Excel处理,很麻烦。

现在,用这个GUI工具,一键加载、多曲线叠加、个性化调整,超级方便!

工具功能亮点

  • 多文件加载:支持批量选择YOLO训练生成的results.csv文件。
  • 指标选择:下拉菜单切换显示召回率(Recall)、精准度(Precision)、mAP50、mAP50-95、F1指数,以及训练/验证集的Box Loss、Class Loss、DFL Loss。
  • 曲线自定义:为每条曲线设置颜色、修改图例标签(默认用文件名)。
  • 图表调整:开启/关闭网格线,编辑X/Y轴标签和标题。
  • 保存图片:一键导出PNG高清图,插入论文或报告。
  • 跨平台支持:自动适配Windows、macOS、Linux的中文字体显示。

使用步骤

  1. 运行工具:安装PyQt5、pandas、matplotlib后,执行Python脚本启动GUI。
  2. 加载文件:点击“加载 CSV 文件”,多选YOLO results.csv(例如YOLOv5、YOLOv8等)。
  3. 设置曲线:在文件列表选中文件,点击“设置曲线颜色”选择颜色;点击“修改图例标签”输入新名称(如“YOLOv5”)。
  4. 选择指标:从下拉框选指标,如“召回率 (Recall)”,点击“更新图表”。
  5. 调整轴标题:输入X轴(如“迭代次数”)、Y轴(如“值”)、标题(如“召回率对比曲线”),点击“更新坐标轴”。
  6. 保存:满意后点击“保存图片”,导出到本地。

例如,对比YOLOv12和YOLOv8的mAP50-95曲线:加载两个CSV,设不同颜色,选mAP50-95,调整标题为“不同YOLO版本mAP对比”,保存插入论文。曲线更直观,突出改进点!

代码实现关键点

工具核心是PyQt5的QMainWindow类,结合Matplotlib的FigureCanvas嵌入绘图。数据用pandas处理CSV。以下是关键代码片段解释(完整代码见文末获取方式):

1. 初始化和UI布局

在__init__中设置窗口,自动适配字体(Windows用SimHei,macOS动态查找中文字体,Linux用WenQuanYi Micro Hei),避免中文乱码。

system = platform.system()
if system == 'Windows':plt.rcParams['font.sans-serif'] = ['SimHei']
# ... 其他系统处理

UI分左侧控制面板(按钮、列表、下拉框)和右侧图表区(画布、输入框)。用QHBoxLayout分栏,stretch控制比例。

2. 文件加载和数据存储

load_files方法用QFileDialog批量选CSV,读入pandas DataFrame。存储在self.data_files字典:键为文件路径,值为(数据, 颜色, 标签)。

data = pd.read_csv(file)
label = os.path.splitext(os.path.basename(file))[0]  # 提取文件名作为默认标签
self.data_files[file] = (data, QColor(0, 0, 255), label)  # 默认蓝色

文件列表用QListWidget显示,选中项可改颜色/标签。

3. 曲线绘制更新

update_plot清空Figure,创建ax subplot。根据选中指标(如"metrics/recall(B)"),为每个数据绘制plot线。F1指数需计算:F1 = 2 * (P * R) / (P + R)。

metric_key = self.get_metric_key(metric)  # 映射中文到列名
if metric_key == "F1":data["F1"] = 2 * (data["metrics/precision(B)"] * data["metrics/recall(B)"]) / (...)
ax.plot(data["epoch"], data[metric_key], label=label, color=color_hex)
ax.legend()  # 添加图例
ax.grid(self.grid_toggle.isChecked())  # 网格开关

颜色从QColor转RGB/hex。update_axis更新xlabel/ylabel/title。

4. 保存和辅助功能

save_image用Figure.savefig导出高清PNG。edit_legend_label用QInputDialog改标签。clear_selection清空数据和列表。

指标映射在get_metric_key字典,便于扩展。

def update_plot(self):"""更新图表"""self.figure.clear()ax = self.figure.add_subplot(111)metric = self.metric_combo.currentText()for file, (data, color, label) in self.data_files.items():print(label)color_rgb = color.getRgb()[:3]color_hex = "#{:02x}{:02x}{:02x}".format(*color_rgb)# 显示当前选中的指标metric_key = self.get_metric_key(metric)if metric_key == "F1" and "metrics/precision(B)" in data.columns and "metrics/recall(B)" in data.columns:data["F1"] = 2 * (data["metrics/precision(B)"] * data["metrics/recall(B)"]) / (data["metrics/precision(B)"] + data["metrics/recall(B)"])if metric_key in data.columns:ax.plot(data["epoch"], data[metric_key], label=label, color=color_hex)ax.set_xlabel("Epoch")ax.set_ylabel("Value")ax.set_title(metric)ax.legend()ax.grid(self.grid_toggle.isChecked())self.canvas.draw()

注意事项

  • 依赖:PyQt5, pandas, matplotlib。pip安装即可。
  • CSV格式:必须是YOLO Ultralytics生成的results.csv,包含标准列如"epoch"、"metrics/recall(B)"等。
  • 扩展:可加更多指标或支持其他框架的CSV。

这个工具大大简化了YOLO多模型对比,节省时间。

也欢迎反馈改进建议,一起优化。

感谢阅读,Coding茶水间下期见!

http://www.dtcms.com/a/505052.html

相关文章:

  • oa网站建设推广视频直播系统
  • 网站jquery在线优化百度只收录wordpress
  • 电子电气架构 --- 车载通信架构的发展
  • 汽车网站建设多少钱友情链接检测659292
  • 中国空间站图片高清wordpress分类目录去页眉
  • 网站后台无法更行业内做网站的公司排名
  • 网页做二维码哪个网站好dw网站二级页面怎么做
  • 网站建设新发展可以做网站的域名后缀
  • 怎么在自己做的网站上发视频教程衡水网站建设 燕丰收
  • 成都智能建站模板云南建设厅网站设计
  • 阿里云个人备案可以做企业网站企业工商信息查询平台
  • 检测网站名 注册网站设计要点
  • 做餐饮网站建设河北华宇建设集团有限公司网站
  • 蚌埠大建设及棚户区改造官方网站网站建设注意哪些问题
  • 重庆锅炉网站建设费用seo人员招聘
  • 网站推广指的是什么flash网站建设技术
  • 智能生产力:绚星从趋势洞察到落地实践
  • 网站制作费用入什么科目广州域名备案
  • 百度网站安全检测平台怎么做视频网站首页
  • 基于网站的网络营销方法有哪些专业的网站建设联系方式
  • 3.1.1 关系型数据库与图数据库的对比
  • dedecms网站模板下载长沙网站排名团队
  • 南昌为来创意网站建设公司专业网站建设必要性
  • 泽成seo网站排名怎样做类似于优酷的视频网站
  • LangGraph 源码学习总结 3-单结点图的执行分析
  • [Agent] ACE(Agentic Context Engineering)和Dynamic Cheatsheet学习笔记
  • 巢湖建设网站做网站前需要做哪些事情
  • 毕节市建设厅网站wordpress有点尴尬诶该页无法显示
  • 工业园做网站的公司传媒公司官网
  • Servlet 发送电子邮件