目标检测框架MMDetection训练自定义数据集实验记录

news2024/11/17 17:49:21

在上一篇博文中,博主完成了MMDetection框架的环境部署与推理过程,下面进行该框架的训练过程,训练的入口文件为tools/train.py,我们需要配置的内容如下:

parser.add_argument('--config',default="/home/ubuntu/programs/mmdetection/configs/faster_rcnn/faster-rcnn_r50_fpn_2x_coco.py", help='train config file path')
parser.add_argument('--work-dir',default="output/", help='the dir to save logs and models')

首先是指明要训练模型的配置文件,这里博主使用的是Faster-RCNN,该模型的骨干网络为ResNet50,使用的是COCO数据集,随后指明保存的路径。
此外,我们可以指定预训练模型,即指定resume参数,由于博主使用的是自制数据集,直接使用其权重模型会报错,所以我们就直接从头开始训练。

自定义数据集

博主使用的是自定义数据集,那么就需要修改几个内容:
首先是数据集的配置,修改mmdet文件下的datasets/coco.py:

在这里插入图片描述

随后修改mmdet/evaluation/functional/下的class_names.py:

def coco_classes() -> list:
    """Class names of COCO."""
    return [
        'pedestrains'
    ]

这里需要一提的是,在MMdetection文件下有一个mmdet文件,而我们配置的环境中也有一个mmdet文件,默认是使用系统里的文件的,因此博主先前一直是修改的mmdetetcion里面的mmdet文件,这会报错:

data_bytes = np.concatenate(data_list) File "<__array_function__ internals>", line 6, in concatenate

这时就要修改环境中mmdet文件了,当然也可以把这个包删掉,但对博主而言无所谓,因为博主并不打算在上面修改代码。该包的路径:

/home/ubuntu/.conda/envs/mmdet/lib/python3.7/site-packages/mmdet/

完成上面的配置后,只需要再修改faster-rcnn中的类别数目即可,默认是80,我们改为1:

在这里插入图片描述

随后便可以运行了,完成一个epoch用时不到一小时,还是可以接受的。

在这里插入图片描述

GPU占用情况:

在这里插入图片描述

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

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

相关文章

算法通关村16关 | 滑动窗口最长字串专题

1. 最长字串专题 1.1 无重复字符的最长字串 题目 LeetCode3 给定一个字符串s&#xff0c;请你找出其中不含有重复字符的最长字串的长度。 思路 找最长字串&#xff0c;需要知道所有无重复字串的首和尾&#xff0c;找出其中最长的&#xff0c;最少两个指针才可以完成&#xff…

冠达管理:创业板是二板市场吗?二板市场起什么作用?

说到股市的各买卖板块&#xff0c;适当一部分投资者简单被主板、二板、三板这些词绕晕&#xff0c;其中二板商场一词关于有些投资者来说是比较生疏的&#xff0c;但面对创业板这一个不是主板但也没有说明是哪个层级的板块却熟悉许多&#xff0c;那么&#xff0c;创业板是不是便…

MySQL忘记密码了怎么办?如何重置修改密码?(Windows图文教程)

1. 如果服务在启动中&#xff0c;先停止MySQL服务 打开cmd&#xff0c;在命令窗口中输入net stop mysql 2. 跳过密码登录MySQL服务 mysqld --console --skip-grant-tables --shared-memory 输入以上代码 再次打开一个新的cmd窗口&#xff0c;原来的窗口不能关闭 在新的cmd窗口中…

冠达管理:股票隔夜挂单是怎么回事?股票挂单规则?

股票的买卖时刻是周一至周五上午9:30-11:30&#xff0c;下午13:00-15:00&#xff0c;一般投资者都是买卖日早上挂单&#xff0c;但也有一些投资者会在晚上隔夜挂单.那么&#xff0c;股票隔夜挂单是怎么回事&#xff1f;股票挂单规矩是什么&#xff1f;冠达管理为我们准备了相关…

C语言malloc函数学习

malloc的全称是memory allocation&#xff0c;中文叫动态内存分配&#xff0c;用于申请一块连续的指定大小的内存块区域&#xff0c;以void*类型返回分配的内存区域地址&#xff1b; 函数原型为void *malloc(unsigned int size)&#xff0c;在内存的动态存储区中分配一个长度为…

Python 内置函数详解 (1) 数学运算

近期在外旅游,本篇是出发前定时发布的,不完整,旅游回来后再补充。 Python 内置函数 Python3.11共有75个内置函数,其来历和分类请参考:Python 新版本有75个内置函数,你不会不知道吧_Hann Yang的博客-CSDN博客 函数列表 abs aiter all …

ESXI安装vCenter Server(VCSA)

概念说明ESXI安装 https://blog.csdn.net/tongxin_tongmeng/article/details/129466704 注意&#xff1a;ESXI-->主机-->硬件-->DSN服务器和网关信息-->VCSA安装时需要使用 VCSA下载 https://customerconnect.vmware.com/cn/home 注意&#xff1a;VCSA版本与ESXI版…

【Redis专题】Redis核心数据结构实战与高性能原理解析

目录 前言课程内容一、redis数据类型1.1 字符串&#xff08;string&#xff09;类型&#xff1a;比较简单的一种使用存储模型常用命令&#xff1a;&#xff08;截取自【菜鸟教程】&#xff09;部分演示应用场景 1.2 哈希&#xff08;hash&#xff09;类型&#xff1a;同类数据归…

01_Flutter之下拉刷新和上拉加载

一.创建页面 由于我们需要请求网络&#xff0c;并将返回的数据渲染到页面上&#xff0c;所以需要继承StatefulWidget&#xff0c;本文涉及的接口&#xff0c;取自鸿神的玩android开放API class ProjectListPage extends StatefulWidget {overrideState<StatefulWidget>…

亲测有效:虚拟机安装gcc,报错Could not retrieve mirrorlist http://mirrorlist.centos.org

&#xff08;网卡配置资料&#xff09; 原因&#xff1a; 网络问题 报错详情&#xff1a; One of the configured repositories failed (未知),and yum doesnt have enough cached data to continue. At this point the onlysafe thing yum can do is fail. There are a few …

【科普向】Jmeter 如何测试接口保姆式教程

现在对测试人员的要求越来越高&#xff0c;不仅仅要做好功能测试&#xff0c;对接口测试的需求也越来越多&#xff01;所以也越来越多的同学问&#xff0c;怎样才能做好接口测试&#xff1f; 要真正的做好接口测试&#xff0c;并且弄懂如何测试接口&#xff0c;需要从如下几个…

Autofac使用(1)

1.Nuget引入程序包 2.得到容器的建造者 3.配置抽象和具体类之间的关系 4.Build一下得到容器实例 5.基于容器来获取对象的实例了 1、基础使用 ContainerBuilder containerBuilder new ContainerBuilder(); containerBuilder.…

LeetCode 热题 100——找到字符串中所有字母异位词(滑动窗口)

题目链接 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题目解析 该题目的意思简而言之就是说&#xff0c;从s字符串中寻找与p字符串含有相同字符(次数和种类均相同)的子串&#xff0c;并且将他们的首字符下标集合进数组中进行返回。 滑动窗口解…

arm64架构的linux中断分析

文章目录 1. 中断的概念和作用2. Linux中断处理机制2.1 中断请求2.2 中断处理2.3 中断完成2.4.中断触发和处理步骤详解2.4.1 异常向量表的解读 3. GICv3中断控制器3.1 GICv3中断控制器设备树3.2 GICv3中断控制器驱动 4. GIC的下一级中断控制器4.1 设备树4.2 内核对设备树的处理…

数学建模--退火算法求解最值的Python实现

目录 1.算法流程简介 2.算法核心代码 3.算法效果展示 1.算法流程简介 """ 1.设定退火算法的基础参数 2.设定需要优化的函数,求解该函数的最小值/最大值 3.进行退火过程&#xff0c;随机产生退火解并且纠正,直到冷却 4.绘制可视化图片进行了解退火整体过程 &…

Cyber RT学习笔记---2.基础概念汇总

2.基础概念汇总 在前面我们介绍了Cyber RT的基础介绍以及框架方面的知识&#xff0c;我们对Cyber RT是一个什么样的系统和框架有了一个大概的认知。这节我们将介绍一下Cyber RT中的一些基础且关键的概念&#xff0c;搞清楚这些概念所代表的意义以及作用&#xff0c;之后我们再…

2023年9月DAMA-CDGA/CDGP数据治理认证火热招生中

DAMA认证为数据管理专业人士提供职业目标晋升规划&#xff0c;彰显了职业发展里程碑及发展阶梯定义&#xff0c;帮助数据管理从业人士获得企业数字化转型战略下的必备职业能力&#xff0c;促进开展工作实践应用及实际问题解决&#xff0c;形成企业所需的新数字经济下的核心职业…

Android列表片段

下面创建第二个片段WorkoutFragment&#xff0c;它包含不同训练项目构成的一个列表&#xff0c;用户可以从这个列表中选择训练项目。 列表视图是只包含一个列表的片段 列表片段是一种专门处理列表的片段&#xff0c;它会自动绑定到一个列表视图&#xff0c;所以不需要另外创建…

【 Tkinter界面-练习03】实现动画

一、说明 在本教程中&#xff0c;我们将学习Python Tkinter Animation。在这里&#xff0c;我们将了解如何在 python 中使用 Tkinter 创建动画&#xff0c;并将介绍与动画相关的不同示例。我们还将讨论这些主题 二、Python Tkinter 动画 在本节中&#xff0c;我们将学习 Python…

服务器数据恢复- Ext4文件系统分区挂载报错的数据恢复案例

Ext4文件系统相关概念&#xff1a; 块组&#xff1a;Ext4文件系统的空间被划分为若干个块组&#xff0c;每个块组内的结构大致相同。 块组描述符表&#xff1a;每个块组都对应一个块组描述符&#xff0c;这些块组描述符统一放在文件系统的前部&#xff0c;称为块组描述符表。每…