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

YOLO训练results.csv文件可视化(原模型与改进模型对比可视化)

一、单独一个文件可视化(源码对应utils文件夹下的plots.py文件的plot_results类)

from pathlib import Path
import matplotlib.pyplot as plt
import pandas as pd
def plot_results(file='runs/train/exp9/results.csv', dir=''):# Plot training results.csv. Usage: from utils.plots import *; plot_results('path/to/results.csv')save_dir = Path(file).parent if file else Path(dir)fig, ax = plt.subplots(2, 5, figsize=(12, 6), tight_layout=True)ax = ax.ravel()files = list(save_dir.glob(file))assert len(files), f'No results.csv files found in {save_dir.resolve()}, nothing to plot.'for fi, f in enumerate(files):try:data = pd.read_csv(f)s = [x.strip() for x in data.columns]x = data.values[:, 0]for i, j in enumerate([1, 2, 3, 4, 5, 8, 9, 10, 6, 7]):y = data.values[:, j]# y[y == 0] = np.nan  # don't show zero valuesax[i].plot(x, y, marker='.', label=f.stem, linewidth=2, markersize=8)ax[i].set_title(s[j], fontsize=12)# if j in [8, 9, 10]:  # share train and val loss y axes#     ax[i].get_shared_y_axes().join(ax[i], ax[i - 5])except Exception as e:print(f'Warning: Plotting error for {f}: {e}')ax[1].legend()fig.savefig(save_dir / 'results.png', dpi=200)  #修改保存路径plt.close()if __name__ == '__main__':plot_results(file='results.csv')   #该python文件位于根目录下(此文件和传入文件在同一目录下),注意修改传入文件路径

单独把代码拿出来建立py文件,注意上传文件路径以及文件保存路径。

效果图展示:(results.png文件)

在这里插入图片描述
二、两个results.csv文件对比(经常用于原模型与改进模型训练效果对比):
这里用到了两个csv文件(results.csv(改进模型训练80轮)和results100.csv(原模型训练100轮))

from pathlib import Path
import matplotlib.pyplot as plt
import pandas as pd
def plot_results(file='runs/train/exp9/results.csv', file2='runs/train/exp9/results100.csv' , dir=''):# Plot training results.csv. Usage: from utils.plots import *; plot_results('path/to/results.csv')save_dir = Path(file).parent if file else Path(dir)save_dir2 = Path(file2).parent if file2 else Path(dir)fig, ax = plt.subplots(2, 5, figsize=(12, 6), tight_layout=True)ax = ax.ravel()files = list(save_dir.glob(file))assert len(files), f'No results.csv files found in {save_dir.resolve()}, nothing to plot.'files2 = list(save_dir2.glob(file2))assert len(files2), f'No results.csv files found in {save_dir2.resolve()}, nothing to plot.'for fi, f in enumerate(files):try:data = pd.read_csv(f)s = [x.strip() for x in data.columns]x = data.values[:, 0]for i, j in enumerate([1, 2, 3, 4, 5, 8, 9, 10, 6, 7]):y = data.values[:, j]# y[y == 0] = np.nan  # don't show zero valuesax[i].plot(x, y, marker='.', label=f.stem, linewidth=2, markersize=8)ax[i].set_title(s[j], fontsize=12)# if j in [8, 9, 10]:  # share train and val loss y axes#     ax[i].get_shared_y_axes().join(ax[i], ax[i - 5])except Exception as e:print(f'Warning: Plotting error for {f}: {e}')for fi, f in enumerate(files2):try:data = pd.read_csv(f)s = [x.strip() for x in data.columns]x = data.values[:, 0]for i, j in enumerate([1, 2, 3, 4, 5, 8, 9, 10, 6, 7]):y = data.values[:, j]# y[y == 0] = np.nan  # don't show zero valuesax[i].plot(x, y, marker='.', label=f.stem, linewidth=2, markersize=8)ax[i].set_title(s[j], fontsize=12)# if j in [8, 9, 10]:  # share train and val loss y axes#     ax[i].get_shared_y_axes().join(ax[i], ax[i - 5])except Exception as e:print(f'Warning: Plotting error for {f}: {e}')ax[1].legend()fig.savefig(save_dir / 'results_vs.png', dpi=200)  #修改保存路径plt.close()if __name__ == '__main__':plot_results(file='results.csv',file2='results100.csv')   #该python文件位于根目录下(此文件和传入文件在同一目录下),注意修改传入文件路径

效果图展示:(results_vs.png文件)

在这里插入图片描述
搬运自YOLO训练results.csv文件可视化(原模型与改进模型对比可视化)

相关文章:

YOLO训练results.csv文件可视化(原模型与改进模型对比可视化)

一、单独一个文件可视化(源码对应utils文件夹下的plots.py文件的plot_results类) from pathlib import Path import matplotlib.pyplot as plt import pandas as pd def plot_results(fileruns/train/exp9/results.csv, dir):# Plot training results.c…...

uni-appcss语法

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…...

java在线票务系统(选座)Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java servlet 在线票务系统(选座)管理系统是一套完善的java web信息管理系统 系统采用serlvetdaobean(mvc模式),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要…...

Python 简易图形界面库easygui 对话框大全(续)

目录 EasyGUI库 主要特点 使用场景 对话框样式 10. 文件打开框 fileopenbox 11. 文件保存框 filesavebox 12. 目录打开框 diropenbox 13. 索引对话框 indexbox 14. 例外报告框 exceptionbox 15. 代码文本框 codebox 16. 密码输入框 passwordbox 17. 多重文本框 mul…...

电容器50ZLH56MEFC6.3X11

电容器 常用电子元器件类型 50ZLH56MEFC6.3X11 文章目录 电容器前言一、电容器二、50ZLH56MEFC6.3X11总结前言 电容器在电子电路中有许多重要的应用,如滤波、耦合、储能、定时等。不同类型的电容器具有不同的性能特点,例如电容量、工作电压、频率响应等。在选择和使用电容…...

vscode 支持c,c++编译调试方法

概述:tasks.jason launch.json settings.json一定要有,没有就别想跑。还有就是c 和c配置有区别,切记,下文有说 1.安装扩展插件。 2.安装编译器,gcc.我用的是x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z &#xf…...

MyBatis的缓存!!!!

为什么使用缓存? 首次访问时,查询数据库,并将数据存储到内存中;再次访问时直接访问缓存,减少IO、硬盘读写次数、提高效率 Mybatis中的一级缓存和二级缓存? 一级缓存: 它指的是mybatis中的SqlSession对象的…...

ToB还是ToC?工业级与消费级AR眼镜都能干什么?

随着科技的飞速发展,增强现实(AR)技术逐渐融入我们的日常生活。我国AR眼镜消费市场分为消费级和工业级应用。其中消费级主要分为游戏、影视、直播以及社交购物与旅游;工业级主要应用于医疗、汽车、工业、船舶、电力和仓储等专业领…...

设计模式-Java版本

文章目录 前言设计原则单一职责原则开闭原则里氏替换原则迪米特法则接口隔离原则依赖倒置原则 设计模式构建类型工厂模式抽象工厂建造者模式原型模式单例模式 结构型适配器模式桥接模式组合模式装饰器模式代理模式外观模式享元模式 行为模式责任链模式命令模式迭代器模式中介模…...

数据库中如何修改和删除字段

PS:在"[ ]"中的所有数据都是可修改的 添加表字段 ALTER TABLE [表名] add [添加的新字段名] [添加新的数据类型] COMMENT [昵称] alter:修改(后面一般加table表示修改表) add:添加一个字段 在这个里面c…...

在 Golang 应用程序中管理多个数据库

掌握在 Golang 项目中处理多个数据库的艺术 在当前软件开发领域中,处理单个应用程序内的多个数据库的需求越来越普遍。具有强大功能的 Golang 是处理此类任务的绝佳解决方案,无论您是与多个数据源合作还是仅为增强组织和可扩展性而分隔数据。在本文中&a…...

理解开源协议GPL、MIT、BSD、Apache License

开源协议是一种法律文件,规定了使用、修改和分享开源软件的规则和条件。以下是一些常见的开源协议及其相同点和区别:GPL(GNU General Public License):GPL 是一种比较严格的开源协议,要求使用者如果对开源软…...

Talk | 北京大学博士生汪海洋:通向3D感知大模型的前置方案

本期为TechBeat人工智能社区第559期线上Talk。 北京时间12月28日(周四)20:00,北京大学博士生—汪海洋的Talk已准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “通向3D感知大模型的前置方案”,介绍了他的团队在3D视觉大模型的前置方…...

【C语言数组传参】规则详解

目录 数组传参介绍 数组传参规则 数组传参的实参 特殊情况一:sizeof(数组名) 特殊情况二:&数组名 数组传参的形参 数组传参使用数组名作为形参接收 形参如果是⼀维数组 形参如果是⼆维数组 数组传参使用指针作为形参…...

【Linux】Ubuntu22.04版本下实现gcc版本的快速切换

本文将介绍如何在Ubuntu22.04版本下实现gcc版本的快速切换。 本文首发于 ❄️慕雪的寒舍 前言 有的时候,不同版本的gcc会造成一些细微的差异,导致相关的一些工具不兼容,比如用于单元测试覆盖率生成的gcov/lcov工具,在不同的gcc版…...

使用Node Exporter采集主机数据

安装 Node Exporter 在 Prometheus 的架构设计中,Prometheus Server 并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的 CPU 使用率,我们…...

Django 文件上传(十二)

当 Django 处理文件上传时,文件数据最终会被放置在 request.FILES 。 查看文档:文件上传 | Django 文档 | Django Django工程如下: 创建本地存储目录 在static/应用目录下创建uploads目录用于存储接收上传的文件 在settings.py 配置静态目…...

k8s的陈述式资源管理

k8s的陈述式资源管理: 命令行:kubectl命令行工具 优点:90%以上的场景都可以满足 对资源的增,删,查比较方便,对改不是很友好 缺点: 命令比较冗长,复杂,难记 声明式&…...

electron-builder 打包exe后白屏

项目用的是An Electron application with Vue3 and TypeScript。 Debug运行项目没问题,可以显示页面。不过有浏览器控制台显示错误: Unable to load preload script:preload/index.js Unable to load preload script 翻译后:无法…...

mvvm,vue双向数据绑定的原理

MVVM (Model-View-ViewModel) 是一种设计模式,主要用于构建用户界面。在 MVVM 中,Model 表示应用程序的数据,View 表示用户界面,而 ViewModel 是 Model 和 View 之间的连接器。MVVM 的核心思想是将视图与模型分离,使它…...

【Java中序列化的原理是什么(解析)】

🍁序列化的原理是什么? 🍁典型-----解析🍁拓展知识仓🍁Serializable 和 Externalizable 接门有何不同? 🍁如果序列化后的文件或者原始类被篡改,还能被反序列化吗?🍁serialVersionU…...

冠赢互娱基于 OpenKrusieGame 实现游戏云原生架构升级

作者:力铭 关于冠赢互娱 冠赢互娱是一家集手游、网游、VR 游戏等研发、发行于一体的游戏公司,旗下官方正版授权的传奇类手游——《仙境传奇》系列深受广大玩家们的喜爱。基于多年 MMORPG 类型游戏的自研与运营经验,冠赢互娱正式推出了 2D M…...

Mybatis 动态 SQL - trim, where, set

之前的例子都巧妙地避开了一个臭名昭著的动态SQL挑战。考虑一下如果我们回到之前的“if”例子&#xff0c;但这次我们将“ACTIVE 1”也作为一个动态条件。 <select id"findActiveBlogLike"resultType"Blog">SELECT * FROM BLOGWHERE<if test&qu…...

大模型系列:OpenAI使用技巧_使用OpenAI进行K-means聚类

文章目录 1. 使用K-means算法找到聚类2. 聚类中的文本样本和聚类的命名让我们展示每个聚类中的随机样本。 我们使用一个简单的k-means算法来演示如何进行聚类。聚类可以帮助发现数据中有价值的隐藏分组。数据集是在 Get_embeddings_from_dataset Notebook中创建的。 # 导入必要…...

共享单车之数据分析

文章目录 第1关&#xff1a;统计共享单车每天的平均使用时间第2关&#xff1a;统计共享单车在指定地点的每天平均次数第3关&#xff1a;统计共享单车指定车辆每次使用的空闲平均时间第4关&#xff1a;统计指定时间共享单车使用次数第5关&#xff1a;统计共享单车线路流量 第1关…...

Spring的Bean你了解吗

Bean的配置 Spring容器支持XML(常用)和Properties两种格式的配置文件 Spring中XML配置文件的根元素是,中包含了多个子元素&#xff0c;每个子元素定义了一个Bean,并描述了该Bean如何装配到Spring容器中 元素包含了多个属性以及子元素&#xff0c;常用属性及子元素如下所示 i…...

MongoDB聚合:$merge 阶段(1)

$merge的用途是把聚合管道产生的结果写入指定的集合&#xff0c;有时候可以用$merge来做物化视图。需要注意&#xff0c;$meger操作必须是聚合管道的最后一个阶段。具体功能有&#xff1a; 能够输出到当前或不同的数据库能够输出到正在聚合的集合&#xff08;慎重&#xff1a;…...

2. 云原生实战之kubesphere搭建

文章目录 机器介绍centos基本配置安装 VMware Tools设置静态ip关闭防火墙关闭SELinux开启时间同步配置host和hostname 安装kubesphere依赖项安装配置文件准备执行安装命令 机器介绍 在ESXI中准备虚拟机&#xff0c;部署参考官网&#xff1a;https://kubesphere.io/zh/ CentOs…...

main参数传递、反汇编、汇编混合编程

week03 一、main参数传递二、反汇编三、汇编混合编程 一、main参数传递 参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成“求命令行传入整数参数的和” 注意C中main: int main(int argc, char *argv[]), 字符串“12” 转为12&#xff0c;可以调用atoi…...

前后端分离nodejs+vue医院预约挂号系统6nrhh

医院预约挂号系统主要有管理员、用户和医生三个功能模块。以下将对这三个功能的作用进行详细的剖析。 运行软件:vscode 前端nodejsvueElementUi 语言 node.js 框架&#xff1a;Express/koa 前端:Vue.js 数据库&#xff1a;mysql 开发软件&#xff1a;VScode/webstorm/hbuiderx均…...

做棋牌网站抓到会怎么量刑/网页设计

1 变量 先来看一个示例&#xff1a; news"我国第一个人工智能规划问世" print(news) 复制代码运行结果&#xff1a; 可以看出使用 Python 定义变量很简单&#xff0c;甚至都不需要指定变量的类型。 1.1 命名和使用规则 变量名只能包含字母 、 数字和下划线 。 变量名…...

微网站自己怎么做的吗/百度搜一搜

一、问题 Tomcat为exe安装版。Tomcat 80和443端口配置完成后&#xff0c;80正常访问&#xff0c;443无法访问。 二、解决方法 先检查端口被占用情况。 查看占用的端口&#xff1a; netstat -aon|findstr “443” 假设占用程序的pid为3308 查看对应pid程序&#xff1a; tas…...

我想克隆个网站 怎么做/女生学网络营销这个专业好吗

安装MySQLdb pip install MySQLdb安装不成功请使用离线安装方式&#xff0c;pypi&#xff1a;https://pypi.org/project/mysqlclient/#files 选择对应的Python版本&#xff0c;下载.whl文件&#xff0c;并离线安装 pip install mysqlclient-2.0.3-cp37-cp37m-win_amd64.whl操…...

扣扣网页版手机登录入口/百度快速排名优化服务

moco 做测试桩入门 https://github.com/dreamhead/moco 环境准备 1.moco-runner-0.12.0-standalone.jar2.java 版本1.8.0_20 Moco环境搭建 1.moco是一个开源的框架&#xff0c;在github上可以下载到&#xff0c;github源码地址 下载&#xff1a;moco-runner-0.12.0-standal…...

做国外网站用什么颜色/电商代运营一般收多少服务费

题目&#xff1a;按照z字形层次遍历二叉树&#xff08;以根节点所在层为第1层&#xff0c;则第二层的变量从右边节点开始直到最左边节点&#xff0c;第三层遍历则是从最左边开始到最右边&#xff09;思路&#xff1a;z字形层次遍历是对层次遍历加上了一个限制条件&#xff08;即…...

网站产品二级分类/百度网站排名怎么提高

代码来源https://www.shiyanlou.com/courses/552&#xff0c;对它进行理解&#xff0c;注释 #-*- coding:utf-8 -*- import BaseHTTPServerclass RequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):处理请求并返回页面# 页面模板Page \<html><body><p>…...