MMDeteceion V3:安装、训练自己数据集

1 安装

1.1 环境配置

找了一台没有安装过软件包的电脑为例,采用Windows 11系统,GPU为GTX1660。

1.1.1 安装显卡驱动
任务管理器查看显卡型号
在这里插入图片描述

查看自己电脑是否安装了显卡驱动,在NVIDIA控制面板中,可以看到驱动已装好,版本为531.29

在这里插入图片描述

查看支持CUDA的最高版本,点击组件,查看NVCUDA64.DLL的产品名称,看到支持最高版本的CUDA为12.1.68

在这里插入图片描述
1.1.2 安装CUDA

在conda中创建一个单独的环境,选择pytorch版本和python版本的对应关系,参考以下两张图.
在这里插入图片描述
在这里插入图片描述
CUDA版本与要使用的pytorch或tensorflow版本相对应,以下两个链接相互配合:
查找合适的CUDA版本和pytorch版本
在NVIDIA官网下载CUDA
在这里插入图片描述
1.1.3 安装CUDNN
进入cudnn下载网站,没注册注册一下,直接登录,下载对应版本的,下好解压,进入CUDA安装文件夹里,直接粘贴。

验证一下
python
import torch
torch.cuda.is_available()
在这里插入图片描述
至此pytorch-gpu安装成功。

1.2 安装 MMDetection

pip install mmengine

pip install mmcv==2.0.0rc4 -f https://download.openmmlab.com/mmcv/dist/cu116/torch1.13/index.html (这步容易出错,参考官方链接)

官方链接

在这里插入图片描述
如果根据官网链接也没有安装成功,采用源码进行安装:
源码
在这里插入图片描述
验证一下:
在这里插入图片描述

github上下载mmdetection源码

源代码链接

cd mmdetection-main

pip install -v -e .

验证一下:

python

import mmdet
在这里插入图片描述
至此安装成功

2 训练

2.1 数据集准备

使用labelme进行标签的制作,之后将标签转为coco格式。

数据集根目录如下图结构,annotations里放json格式的标签,其他放图片

在这里插入图片描述

2.2 训练

在mmdetection-main/configs中找到要使用的网络模型,复制绝对路径,粘贴在形参中,见下图

在这里插入图片描述

**之后直接运行tools/train.py,会在tools目录下生成work_dirs文件夹

复制刚才的.py文件到该目录,修改文件的配置**

_base_ = r'E:\代码\mmdetection-main\mmdetection-main\configs\pafpn\faster-rcnn_r50_fpn_1x_coco.py'

# dataset settings
data_root = r'E:\代码\mmdetection-main\mmdetection-main\COCO_dataset'

train_dataloader = dict(
    batch_size=1,
    num_workers=1,
    dataset=dict(
        data_root=r'E:\代码\mmdetection-main\mmdetection-main\COCO_dataset',
        ann_file=r'E:\代码\mmdetection-main\mmdetection-main/COCO_dataset/annotations/instances_train.json',
        data_prefix=dict(img='train/')))

val_dataloader = dict(
    batch_size=1,
    num_workers=1,
    dataset=dict(
        data_root= r'E:\代码\mmdetection-main\mmdetection-main\COCO_dataset',
        ann_file=r'E:\代码\mmdetection-main\mmdetection-main/COCO_dataset/annotations/instances_val.json',
        data_prefix=dict(img='val')))
test_dataloader = val_dataloader

val_evaluator = dict(
    ann_file=r'E:\代码\mmdetection-main\mmdetection-main/COCO_dataset/annotations/instances_val.json')
test_evaluator = val_evaluator

# training settings
max_epochs = 300
num_last_epochs = 15
interval = 10

train_cfg = dict(max_epochs=max_epochs, val_interval=interval)

修改
mmdetection-main\mmdet\datasets\coco.py 中的CocoDataset类
mmdetection-main\mmdet\evaluation\functional\class_names.py 中的coco_classes和coco_panoptic_classes类
修改成自己的classname和palette

同样在tools/train.py文件运行前配置一下改好的文件,运行即可

在这里插入图片描述

Reference

https://www.jb51.net/python/302744e4p.htm#_lab2_3_6
https://blog.csdn.net/Evan_qin_yi_quan/article/details/131459950
https://blog.csdn.net/MayYou_SSS/article/details/134422943
https://blog.csdn.net/qq_41627642/article/details/124603457

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值