mmdetection训练后评估指标,验证Loss

项目场景:

对mmdetection框架下训练好的log.json文件进行评估。


问题描述

使用框架底下自带的评估文件,不能对loss进行评估。也就是文件:tools/analysis_tools/analyze_logs.py


解决方案:

自己做了评估loss的代码,目前只能评估下图红色箭头标示类,其余可在mmdetection自带的analyze_logs.py文件评估。
在这里插入图片描述

代码如下:

import json
import matplotlib.pyplot as plt# 初始化空列表以存储所有的数据
data = []# 打开并逐行读取JSON文件
with open('E:/Deeplearning/ChangeDetection/Mmdetection/Mmdetection/loss-log/20240724_100019.log.json', 'r') as file:for line in file:# 解析每行的JSON数据try:entry = json.loads(line)data.append(entry)except json.JSONDecodeError as e:print(f"Error parsing line: {e}")# 初始化
iterations = []
loss_cls_values = []# 设置每个epoch的初始偏移值
epoch_offset = 0# 记录当前epoch
current_epoch = 1for entry in data:if 'iter' in entry and 'loss_cls' in entry:# 检查是否进入了新的epochif entry['epoch'] > current_epoch:current_epoch = entry['epoch']epoch_offset += 700  # 700是每个epoch的迭代数# 计算当前iter的全局值global_iter = epoch_offset + entry['iter']iterations.append(global_iter)loss_cls_values.append(entry['loss_cls'])# 绘制loss_cls的损失图
plt.figure(figsize=(10, 5))
plt.plot(iterations, loss_cls_values, label='loss_cls', color='blue')
plt.xlabel('Iterations')
plt.ylabel('Loss')
plt.title('Loss_cls over Iterations')
plt.legend()
plt.grid(True)
plt.show()

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

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

相关文章

力扣94题(java语言)

题目 思路 使用一个栈来模拟递归的过程,以非递归的方式完成中序遍历(使用栈可以避免递归调用的空间消耗)。 遍历顺序步骤: 遍历左子树访问根节点遍历右子树 package algorithm_leetcode;import java.util.ArrayList; import java.util.List; import…

重磅发布:OpenAI宣布推出AI驱动的搜索引擎SearchGPT,将与Google和Perplexity展开竞争|TodayAI

OpenAI宣布推出其备受期待的AI驱动搜索引擎SearchGPT。该搜索引擎能够实时访问互联网信息,并将作为原型在有限范围内发布,计划最终将其功能整合到ChatGPT中。 SearchGPT的功能特点 SearchGPT是一个具有实时互联网信息访问能力的AI驱动搜索引擎。它的界面…

轨道式智能巡检机器人,助力综合管廊安全运维

1 引言 当前城市综合管廊建设已经成为世界范围内的发展趋势,2017年5月住建部、发改委联合发布《全国城市市政基础设施建设“十三五”规划》,截至2017年4月底国内地下综合管廊试点项目已开工建设687 km,建成廊体260 km,完成投资40…

用python程序发送文件(python实例二十六)

目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.文件上传 3.1 代码构思 3.2 服务端代码 3.3 客户端代码 3.4 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具…

C++图网结构算法

目录 一.迪杰斯特拉算法(dijkstra) 1.实现原理: 2.代码实现: 3.例题: 二.spfa算法: 1.实现原理: 2.代码实现: 3.例题: 三.贝尔曼福特(bellman_ford&…

【嵌入式硬件】快衰减和慢衰减

1.引语 在使用直流有刷电机驱动芯片A4950时,这款芯片采用的是PWM控制方式,我发现他的正转、反转有两种控制方式,分别是快衰减和慢衰减。 2.理解 慢衰减:相当于加在电机(感性原件)两端电压消失,将电机两端正负短接。 快衰减:相当于加在电机(感性原件)两端电压消失,将电机…

AcWing-差分矩阵

insert函数影响范围,在b差分数组这样操作影响到是a里面的,所以下图的矩阵表示的是a数组 b[x1][y1]c;会导致a里面仅绿色范围的a[i][j]c b[x1][y21]-c;会导致a里面仅黄色范围的a[i][j]-c b[x21][y1]-c;会导致a里面仅蓝色范围的a[i][j]-c b[x21][y21]c;会导…

什么情况下的网站要使用CDN加速呢?

CDN的全称是Content Delivery Network,即内容分发网络。 CDN的通俗理解就是网站加速,CPU均衡负载,可以解决跨运营商,跨地区,服务器负载能力过低,带宽过少等带来的网站打开速度慢等问题。 原理就是在客户端…

Java聚合快递系统对接云洋系统快递小程序系统源码

🚀 "聚合快递系统"无缝对接云洋系统,快递小程序新体验!📦 🚚 开篇:快递管理新纪元,一键接入云洋系统! 你是否还在为繁琐的快递管理而头疼?多个快递公司账号切…

新手必备:iPhone新机官网验机流程详解

目录 一、准备工作 二、外包装检查 三、序列号查询 四、开箱验机 五、开机验机 六、功能检测 七、售后服务验证 八、总结 一、准备工作 检查包裹:确保快递包裹完好无损。准备录像设备:使用另一台设备录制整个验机过程,以防日后发生纠…

无人机公司销售需要什么资质

国家民航局于2024年1月1日实施了《无人驾驶航空器飞行管理暂行条例》,根据这个管理条例里面的 第十一条 使用除微型以外的民用无人驾驶航空器从事飞行活动的单位应当具备下列条件,并向国务院民用航空主管部门或者地区民用航空管理机构申请取得民用无人驾…

从社区走向产业,让数据价值的流动像自来水一样即开即用|隐语开源两周年特别活动

“隐语”是开源的可信隐私计算框架,内置 MPC、TEE、同态等多种密态计算虚拟设备供灵活选择,提供丰富的联邦学习算法和差分隐私机制 开源项目 github.com/secretflow gitee.com/secretflow 数据要素市场规模指数级增长,数据要素逐渐流向千行…

北大延毕硕士×INFJ | 我解脱了

前言 拿了双证,我终于能静下心来复盘一下我延毕一年的经历了。 给后面也许有相同困境的朋友们做个参考或者心理疏导作用。 延毕的原因 我延毕的主要原因是论文研三的时候论文没有完成,我们专业的论文一般是6个月全身心投入可以完成。我这个人是典型的…

数字创意赋能数字文创产业园,树莓集团立志打造全球文化创新标杆

在数字化和全球化的时代,文化创意产业正迎来前所未有的发展机遇。树莓集团作为行业的领军者,正通过其在数字文创产业园的努力,赋能数字文创产业,致力于打造全球文化创新标杆。 在树莓集团的战略布局下,数字文创产业园不…

7月26日贪心练习-摆动序列专题

前言 大家好,今天学习用贪心思想解决摆动序列问题,共三题,分享自己的思路,请大家多多支持 算法思想 大家可以先看看这道我们后面会讲的题看看怎么个事,. - 力扣(LeetCode) 由此题题解说明算…

MySQL练手 --- 1789. 员工的直属部门

题目链接:1789. 员工的直属部门 这道题虽然是个简单题,但是"坑"倒是不少,所以记录一下 思路: 题目要干: 一个员工可以属于多个部门。当一个员工加入超过一个部门的时候,他需要决定哪个部门是…

木材货场现状与新时代商贸物流关系分析

在全球经济一体化的浪潮下,商贸物流行业正经历着前所未有的变革。木材,作为传统而重要的原材料,在建筑、家具、包装等多个领域发挥着关键作用。然而,传统木材货场在面对新时代商贸物流的新要求时,其现状显得尤为滞后&a…

力扣刷题-图论-岛屿类问题-集合实现(c++实现)

我的老师:力扣链接这道题题解中最高赞的回答nettee,从这篇题解中我学到了dfs框架以及解决思路,并独立完成了该题解里的几道习题本人刷题的习惯是学会一个板子,然后之后的同类题都机械的用这个板子去做,最好不做创新&am…

Mybatis(三) 查询不同数据封装的方式

实体类&#xff1a; 数据库&#xff1a; 1、查询一个实体类对象 /** * 根据用户id查询用户信息* param id * return */User getUserById(Param("id") int id);<select id"getUserById" resultType"User">select * from t_user where id …