mmdetection训练coco数据集(继跑通后的一些工具使用)

news2024/10/6 4:02:26

(仅做个人过程记录的笔记)

1、生成中间件

可以选择评估方式 --eval ,对于 COCO 数据集,可选 bbox 、segmproposal 。可以得到result.bbox.json文件

生成pkl文件:faster_rcnn.pkl

python tools/test.py config.py work_dirs/epoch_20.pth  --out faster_rcnn.pkl

后续可以直接使用他来做分析,无需每次都从头测试。 如下:

python config.py faster_rcnn.pkl --eval bbox

得到结果如下:

 

2、tools里部分的工具使用

  • coco_error_analysis.py 获得COCO bbox错误结果每个类别,保存分析结果图像到目录results/
python tools/analysis_tools/coco_error_analysis.py results.bbox.json results  --ann=data/coco/annotations/instances_val2017.json

结果如下:

  • analyze_results.py  将模型的预测结果框画出来进行可视化
python tools/analysis_tools/analyze_results.py configs.py faster_rcnn.pkl show_dir/

结果如下:

由于目标太小,报错了。[WinError 1455] 页面文件太小,无法完成操作。

  • analyze_logs.py 分析我们训练过程中得到的日志文件的每次epoch训练结果

先pip install seaborn

python tools/analysis_tools/analyze_logs.py plot_curve  tools\work_dirs\faster_rcnn_r101_fpn_1x_coco\20230530_182545.log.json --out log_curve.png
  • confusion_matrix.py  生成混淆矩阵

python tools/analysis_tools/confusion_matrix.py configs.py tools\work_dirs\faster_rcnn_r101_fpn_1x_coco\fasterrcnn.pkl results/coco_confusion_matrix/

结果如下: 

 

3、多类目标训练查看单类准确率(AP)

test.py 后面加--options "classwise=True" 即可

python tools/test.py configs/A_traintest/faster_rcnn_r101_fpn_1x_coco_3channel.py work_dirs/faster_rcnn_r101_fpn_1x_coco/epoch_13.pth --options "classwise=True"  --eval bbox

结果如下:

只想显示 0.5时精度 在mmdetection/mmdet/datasets/coco.py的def evaluate()中:classwise=False为classwise=True,iou_thrs=[0.5]即可

即:def evaluate(self,
                 results,
                 metric='bbox',
                 logger=None,
                 jsonfile_prefix=None,
                 classwise=False,
                 proposal_nums=(100, 300, 1000),
                 iou_thrs=[0.5],
                 metric_items=None):

参考博主文章:

mmdetection tools工具梳理_bbox_map_copypaste_Adenialzz的博客-CSDN博客

【mmdetecion】mmdetection多类目标训练查看单类准确率(AP)_mmdet测试正确率_gorgeous(๑>؂<๑)的博客-CSDN博客

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

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

相关文章

利用栈和队列共同解决迷宫问题

文章目录 什么是迷宫问题&#xff1f;如何解决迷宫问题&#xff1f;DFS&#xff08;深度优先搜索&#xff09;BFS&#xff08;广度优先搜索&#xff09; 总结 什么是迷宫问题&#xff1f; 迷宫问题是一道经典的算法问题&#xff0c;旨在寻找一条从起点到终点的最短路径。通常迷…

games101作业6

作业要求 Render() in Renderer.cpp: 将你的光线生成过程粘贴到此处&#xff0c;并且按照新框 架更新相应调用的格式。Triangle::getIntersection in Triangle.hpp: 将你的光线-三角形相交函数 粘贴到此处&#xff0c;并且按照新框架更新相应相交信息的格式。 在本次编程练习中…

删除排序链表中的重复元素(java)

删除链表中的重复元素 leetcode 83 题 删除链表中的重复元素解题思路代码链表专题 leetcode 83 题 删除链表中的重复元素 leetcode 83 题 – 跳转链接 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。…

Python numpy - 数组与矩阵的创建&运算

数组array 一 数组的创建 &#xff08;至少两个数组&#xff09;创建随机整数数组 a 和 b import numpy as np a np.random.randint(10,size20).reshape(4,5) b np.random.randint(10,size20).reshape(4,5) 二 数组常用函数 数组常用函数 函数作用unique&#xff08;&…

Transformer part2

(179条消息) Transformer模型入门详解及代码实现_transformer模型代码-CSDN博客 transformer的encoder和decoder的差别 1. decoder包含两个 Multi-Head Attention 层。 decoder第一个 Multi-Head Attention 层采用了 Masked 操作。 为什么需要Mask处理 如何进行Mask处理 de…

【C#图解教程】第五章 类的基本概念

程序和类 类是一个能储存数据并执行代码的经过封装的数据结构&#xff0c;包含数据成员和函数成员&#xff0c;类内通常会包含逻辑上相关的数据和函数&#xff0c;所以类通常会代表真实世界或概念上的事物。 运行中的C#程序实质上是许多实例之间相互作用&#xff1a; 类的声…

ThingsBoard 前端项目内置部件开发

ThingsBoard 是目前 Github 上最流行的开源物联网平台&#xff08;12.8k Star&#xff09;&#xff0c;可以实现物联网项目的快速开发、管理和扩展&#xff0c;是中小微企业物联网平台的不二之选。 本文介绍如何在 ThingsBoard 前端项目中开发内置的菜单导航部件。 内置相关部…

clickhouse简介

文章目录 1&#xff1a;简介1.1&#xff1a;CH是什么&#xff1f;1.2&#xff1a;CH优势1.3&#xff1a;架构设计 2&#xff1a;CH接口3&#xff1a;CH引擎1&#xff1a;数据库引擎3.1.1:mysql引擎 2&#xff1a;表引擎3.2.1&#xff1a;MergeTree3.2.2&#xff1a;集成引擎1&a…

电子合同签署协议开源版系统开发

电子合同签署协议开源版系统开发 H5TP6mysqlphp 源码开源不加密 以下是电子合同系统可能包含的功能列表&#xff1a; 用户注册和登录&#xff1a;用户可以注册并登录系统&#xff0c;以便创建、签署和管理合同。合同创建&#xff1a;用户可以创建新合同&#xff0c;包括填写合…

Web的基本漏洞--SQL注入漏洞

目录 一、SQL注入介绍 1.SQL注入漏洞原理 2.SQL注入漏洞的类型 3.SQL注入漏洞识别 4.攻击方式 5.SQL盲注 时间盲注 布尔盲注 报错盲注 6.SQL注入漏洞的危害 7.SQL注入漏洞的防范措施 8.SQL注入漏洞的绕过 一、SQL注入介绍 1.SQL注入漏洞原理 Web程序输入的数据传…

使用git rebase合并多次commit

目录 rebase的作用简要概括为&#xff1a;命令&#xff1a;解决冲突&#xff1a;遗留问题&#xff1a; rebase的作用简要概括为&#xff1a; 可以对某一段线性提交历史进行编辑、删除、复制、粘贴&#xff1b;因此&#xff0c;合理使用rebase命令可以使我们的提交历史干净、简…

docker安装php

在安装 php 之前&#xff0c;我们可以先查看一下我们的镜像&#xff1a; docker images 我这里是已经存在 php 镜像了&#xff0c;版本就是 TAG 显示的 8.1.16 如果没有镜像&#xff0c;则执行下面的命令&#xff0c;拉取 php 镜像&#xff1a; docker pull php:latest 请注…

MAYLAND HOME官网上线 | LTD家居家装行业案例分享

​一、公司介绍 在MAYLAND HOME&#xff0c;我们为我们对质量和服务的承诺感到自豪。我们相信我们的成功与客户的满意度直接相关&#xff0c;这就是为什么我们努力超越您的期望&#xff0c;我们承担的每一个项目。无论您是想升级您的家庭还是企业&#xff0c;我们都会在这里帮助…

SpringBoot3 CORS跨域访问

目录 Credentials 问题一 问题二 解决方法一 CrossOrigin&#xff0c;最优的方法 解决方法二 通过Filter 设置HTTP 解决方法三 通过实现WebMvcConfigurer设置HTTP HTTP 协议&#xff0c;需要认真的学习每个细节。 allowCredentials(true) 和 allowed-origins: "*&qu…

MySQL--万文长字探究隔离性实现原理

1 隔离性简介 事务具有原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isolation&#xff09;、持久性&#xff08;Durability&#xff09;四个特性&#xff0c;简称 ACID&#xff0c;缺一不可。这篇文章旨在讲清楚…

吐血整理 二叉树(链表实现)的基本操作详解!

文章目录 节点设置二叉树的深度优先遍历前序遍历中序遍历后序遍历 二叉树的广度优先遍历层序遍历 节点的个数叶子节点的个数第K层节点的个数值为X的节点树的最大深度翻转二叉树判断两颗二叉树是否相同判断二叉树是否是完全二叉树判断二叉树是否是单值二叉树判断二叉树是否是平衡…

有哪些好用的pdf修改器?思路提供

PDF格式的文档在现代生活中扮演着越来越重要的角色。但是&#xff0c;要编辑或修改PDF文件是一件非常困难的事情&#xff0c;因为PDF文件的格式和内容通常被锁定。为了解决这个问题&#xff0c;出现了PDF修改器这种工具&#xff0c;它可以帮助用户轻松地编辑和修改PDF文件。本文…

RDK X3 Module发布,全新软硬件平台加速实现量产级产品落地

机器人开发是一段美妙的旅程。GEEKROS创始人杨状状是地平线社区的一名开发者&#xff0c;热衷于鼓捣各类机器人&#xff0c;2022年&#xff0c;状状第一时间就拿到了地平线旭日X3派&#xff08;简称旭日X3派&#xff09;&#xff0c;基于TogetheROS™.Bot机器人操作系统&#x…

Win11集成 ChatGPT,任务栏取消分组真的回来了

时隔两月微软如期发布了 Win11 Moments 3 更新&#xff0c;版本号 22621.1778 。 微软这次更新带来了许多质量更新和功能改进。 直观的改动是任务栏&#xff0c;网络图标在连接加密隧道时会上锁&#xff0c;时间显示到秒也重新回归。 日常会用到的 AltTab 任务选项卡被限制到最…

04_Cenos安装Docker

docker安装文档&#xff1a; ubuntu&#xff1a;https://docs.docker.com/engine/install/ubuntu/ centos&#xff1a;https://docs.docker.com/engine/install/centos/ debian&#xff1a;https://docs.docker.com/engine/install/debian/ cenos安装Docker前提&#xff1a; 必…