绘制YOLOv9训练结果的mAP0.5变化曲线

news2024/12/22 18:57:50

本文绘制mAP0.5在训练过程中的变化曲线(Python脚本),用以比较不同算法的收敛速度,最终精度等,并且能够在论文中直观的展示改进效果。

以下是比较了三个模型的mAP0.5变化曲线,数据来源是直接读取三个训练完成的result.csv

import pandas as pd
import matplotlib.pyplot as plt

# 设置字体格式
plt.rcParams['font.sans-serif'] = ['SimSun'] # 步骤一(替换默认sans-serif字体)
plt.rcParams['axes.unicode_minus'] = False  # 步骤二(解决坐标轴负数的负号显示问题

# 读取 CSV 文件
data = pd.read_csv('results.csv')  #替换成训练结果的csv路径
data_2 = pd.read_csv('results (1).csv') #替换成训练结果的csv路径
data_3 = pd.read_csv('results (2).csv') #替换成训练结果的csv路径

# 获取'metrics/mAP_0.5'列的数据
mAP_05_data = data['     metrics/mAP_0.5']
mAP_05_data_2 = data_2['     metrics/mAP_0.5']
mAP_05_data_3 = data_3['     metrics/mAP_0.5']

# 绘制曲线
plt.plot(mAP_05_data, label='Model-1', color='red', linewidth=1)
plt.plot(mAP_05_data_2, label='Model-2', color='green', linewidth=1)
plt.plot(mAP_05_data_3, label='Model-3', color='blue', linewidth=1)

# 添加图例
plt.legend(loc='lower right')

# 添加标题和坐标轴标签
plt.xlabel('Epoch')
plt.ylabel('mAP_0.5(%)')
plt.title('mAP_0.5变化曲线')

# 网格线
plt.grid(True)

# 保存图像到同目录下
# plt.savefig('mAP_05_curve.png')
plt.show()

绘制结果如下,不同算法做了区分,以更直观的展示:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091808.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flink1.14.* 各种算子在StreamTask控制下如何调用的源码

前言:一、StreamTask执行算子的生命周期二、 Source的streamTask用的是SourceStreamTask三、基础转换操作,窗口用的是OneInputStreamTask1、初始化OneInputStreamTask2、StreamTask运行invoke调用的是StreamTask的processInput方法3、从缓冲区获取数据放…

从0到DevOps(1)-初步了解DevOps和容器

DevOps从提出以来陆续成为行业普遍实践,目前是数字化生产普遍不可或缺的信息底座。本系列文章旨在系统性的阐述与认识DevOps, 了解企业实践里DevOps的实际面貌。 什么是DevOps? DevOps 是一套实践、工具和文化理念,为实现用户不断的软件功能和可用性要…

学会这5个AI变现方法,让你在小红书上轻松赚钱!

大家好!最近AI真是大火,尤其是ChatGPT、Midjourney这些AI工具,感觉不搞点AI相关的内容,都跟不上潮流啦! 作为一个深耕小红书的内容创作者,我发现AI其实在小红书上有着巨大的变现潜力。 那么,如…

C--四种排序方法的补充

上一篇文章因为时间原因只写了三种,这一篇来补充第四种,第四种的代码更多,所需要理解的也是更多的。 堆排序 想要学会堆排序,你必须了解二叉树的内容。堆排序的排序速度也是非常的快。 这里都已大堆为例 1.向上调整算法&#…

JavaWeb - Spring Boot

Spring 官网​​​​​Spring | Home Spring Boot Spring Boot是一个由Pivotal团队提供的开源框架,旨在简化Spring应用的初始搭建以及开发过程。在Spring Boot项目中,通常会有Controller、Service、Mapper和Entity等层次结构。下面将详细介绍这些层次的…

Mac 安装Hadoop教程

1. 引言 本教程旨在介绍在Mac 电脑上安装Hadoop,便于编程开发人员对大数据技术的熟悉和掌握。 2.前提条件 2.1 安装JDK 想要在你的Mac电脑上安装Hadoop,你必须首先安装JDK。具体安装步骤这里就不详细描述了。你可参考Mac 下载JDK8。 2.2 配置ssh环境…

三分钟讲明白怎么用Fusion360和3D打印做模具

前言 模具,这东西听起来好像很常见,但是听到价格又很高大上,但是现在好消息是你可以在家里用3D打印方式实现一个模具,虽然是一个学习级的简易模具但是符合模具的9成要素 这里我们设计一个可以把热熔胶变成实物的模具 如何实现 1首…

生成密码c++

需求 目前需要实现生成8位密码,密码要求至少包含一位数字,一位大写字母,一位小写字母,一位特殊字符。如果用户第一次使用还没有输入密码,密码则为系统随机生成。 用户输入密码,符合规则则将默认密码覆盖掉…

重生之我们在ES顶端相遇第10 章- 分分分词器的基本使用

文章目录 思维导图0. 前言1. 光速上手1.1 指定分词器1.2 测试分词器 2. 分词流程(重要)2.1 基本介绍2.2 深入如何测试分词器 3. 自定义一个简单的分词器 思维导图 0. 前言 分词器在 ES 搜索使用中非常关键,一个好的分词器能够提高搜索的质量,让用户搜索…

进程间的通信(无名管道)

进程间通信 IPC InterProcess Communication 1.进程间通信方式 1.早期的进程间通信: 无名管道(pipe)、有名管道(fifo)、信号(signal) 2.system V PIC: 共享内存(share memory)、信号灯集(semaphore)、消息队列(message queue) 3.BSD: 套接字(socket) 2.无…

AI壁纸套装,单月变现7000+,手把手教你,别说你还不会

介绍 这种类型的手机壁纸,平板壁纸,电脑壁纸,甚至是手表壁纸,流量都很不错,尤其是深受一些女性的喜欢。 变现能力也不错,而且变现方式也多种多样。 今天就一步一步的教大家如何制作这种壁纸,怕…

本地部署 Flux.1 最强文生图大模型!Comfyui 一键安装

前言 最近,由前 Stability AI员工创立的黑森林实验室推出了开源文生图大模型–FLUX.1横空出世。 FLUX.1在文字生成、复杂指令遵循和人手生成上具备优势。以下是其生成图像示例,可以看到即使是生成大段的文字、多个人物,也没有出现字符、人手…

涉案财物管理系统|涉案财物全流程监测

涉案财物管理系统DW-S405系统基于物联网技术规范涉案财物管理流程,确保涉案财物的安全性、完整性和合法性;可以提高办案效率,减少办案成本,实现资源共享。 DW-S405可以深度整合大平台和物理存储区的整体一致性,实现对…

通信算法之229: 通信系统中的Eb/N0与SNR

通信系统中接收灵敏度是衡量系统可接收的最小信号电平。各个文章书籍中都给了接收灵敏度与SNR的关系。 但是做解调算法的工程师却在乎的是Eb/No,那么两者的关系什么?是不是都可以代表接收性能的好坏? Eb/No 在通信系统中,Eb/No 是…

带娃赚钱两不误,用AI做故事绘本,零成本轻松变现

01 利用Chatgpt生成故事脚本内容 AI Breakthroug 这一步我们可以将收集的爆款故事文案给到GPT进行改写,这里我重点展示如何通过提示词让GPT帮我们生成原创的故事脚本。 *▍**让GPT生成原创故事标题* 一开始不知道写什么主题故事的时候,这里我们可以…

报错:java: 不再支持源选项 5。请使用 8 或更高版本

Date: 2024.08.30 13:52:20 author: lijianzhan 电脑环境:Windows10 开发环境:JDK21 代码工具:IntelliJ IDEA 2024 一、问题 运行脚本控制台报错:java: 不再支持源选项 5。请使用 8 或更高版本。 二、原因 当前JDK版本比较高&…

【MySQL索引】4索引优化

索引优化 1 关联查询优化 左连接LEFT JOIN LEFT JOIN 右边是我们的关键点,一定需要建立索引 .这里是book的card 字段,type建不建索引无所谓。 ALTER TABLE book ADD INDEX Y ( card); #【被驱动表】,可以避免全表扫描 EXPLAIN SELECT SQL_NO_CACHE *…

2.5G网络(通常指2.5G以太网,即2500BASE-X)的网络变压器在设计和应用上有几个关键方面

信号传输和接收: 2.5G网络变压器主要用于以太网设备中,用于将信号从平衡转换为非平衡,或者进行阻抗匹配,确保信号能够在传输线和接收器之间有效地传输和接收。 频率范围: 这些变压器需要支持2.5G以太网的频率范围&…

Java 入门指南:Java 并发编程 —— 两万字详解 进程(Process)与线程(Thread)

线程和进程是操作系统中两个重要的概念,用于实现并发执行和多任务处理。 基础概念 进程 进程(Process):进程是计算机中正在运行的程序的实例。它是操作系统分配系统资源的基本单位,包括程序代码、数据、打开的文件、…

Global Illumination_LPV Deep Optimizations

接上回,RSM优化技术介绍后,我们本部分主要看一下,光栅GI三部曲中的LPV,这个算法算是很巧妙了,算法思路基于RSM上拓展到世界空间,可以说很具学习和思考价值,之前也简单实现过Global Illumination…