扫盲:mmdetection安装以及训练自己的数据集

本文为博客 VIP 文章,开通 VIP 后可阅读全文

开通 VIP

一、安装

# 创建环境名为mmdet
conda create -n mmdet python=3.7
# 激活环境mmdet
conda activate mmdet
# 安装pytorch1.6
# 安装torchvision0.7.0
# 安装cuda,此处注意cuda版本要对应上或电脑已经安装了更高的版本,cuda版本向下兼容,电脑安装最新的cuda并把驱动升级到最新。
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.2 -c pytorch
# 安装对应版本的mmcv-full,这个是官方已经给编译过的,安装时注意版本与上一步相同。cu102为cudatoolkit10.2,torch1.6.0为pytorch1.6.0。对应不上安装时看不出来,用的时候必报错,而且找不到原因。而且这是官方编译好的,意味着不能瞎改pytorch版本。
pip install mmcv-full==1.4.6 -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.6.0/index.html
# 安装mmdet,安装检测模块的需要的包
pip install mmdet
# 安装mmrotate,安装旋转检测模块需要的包,这个不用mmrotate可不安
pip install mmrotate
# 也可以用另一种方法安装mmrotate
git clone https://github.com/open-mmlab/mmrotate.git
cd mmrotate
pip install -r requirements/build.txt
pip install -v -e .  

1.报错不要慌,领悟每个命令行作用的同时,看看版本对没对上,csdn好多博文版本没对上或者用mim安装导致各种报错。

2.安装失败,这只是一种可能,看看是否安装了VS2019 C++buildtool,因为之前安装pycocotool的时候因为没安装这个工具导致安装不上。安装这个工具即使不需要,也没有任何害处,可能将来会用到。

二、demo演示文件测试效果

进入image_demo.py文件,读一读。

# ....
def parse_args():
    parser = ArgumentParser()
    parser.add_argument('img', help='Image file')
    parser.add_argument('config', help='Config file')
    parser.add_argument('checkpoint', help='Checkpoint file')
# ....

 稍加修改,让配置参数时,更加规整而且配置时一一对应,更加严谨。

# ....
def parse_args():
    parser = ArgumentParser()
    parser.add_argument('--img', help='Image file')
    parser.add_argument('--config', help='Config file')
    parser.add_argument('--checkpoint', help='Checkpoint file')
# ....

pycharm中配置参数:1.图片路径2.模型路径3.权重路径;此处的模型与权重最好时完全对应上。

--img
D:\\Project\\mmdetection-master\\demo\\demo.jpg
--config
D:\\Project\\mmdetection-master\\configs\\faster_rcnn\\faster_rcnn_r50_fpn_1x_coco.py
--checkpoint
D:\\Project\\mmdetection-master\\faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth

报个小错,无伤大雅。小小警告,一般都是告诉我xx已经淘汰了;被xx替代了;建议替换等等。

 结果出来了,意味着你的环境配置已经问题不大了,后面如果缺组件,在现在的环境内pip install xxx即可。

三、简单的口罩检测——训练自己的数据集

1.首先准备好数据集——一些未标注的图片

 2.用labelme标注软件进行标注

labelme安装很简单,在本环境安装就行。

# 安装pyqt5
pip install pyqt5
# 安装labelme
pip install labelme
# 运行labelme
labelme

标注过程过于简单,不赘述。注意:

(1)不要乱改标注后的json文件名,要一一对应。

(2)矩形框标注从左上到右下符合图片坐标的规定。

3.json to coco,格式转换。

 运行一下脚本,注意输入文件位置与输出文件位置。

import os
import json
import numpy as np
import glob
import shutil
import cv2
from sklearn.model_selection import train_test_split

np.random.seed(41)

classname_to_id = {
    "mask": 0, #改成自己的类别
    "person": 1
}


class Lableme2CoCo:

    def __init__(self):
        self.images = []
        se
有手就行的自定义制作coco、voc、yolo格式数据集 同一份数据自定义制作coco、voc、yolo格式数据集 阅读详情

相关推荐

MMDetection】——训练个人数据集

mmdetection训练自己的数据集,全过程记录。

retainenergy的博客 2万+

YOLOv3-quadrangle代码调试记录

代码来源:https://github.com/JKBox/YOLOv3-quadrangle 主要使用于四边形文本检测。 代码阅读 代码结构如下: 1.配置文件 cfg/ 共2个文件,yolov3.cfg定义了darknet+yolo_head的整个结构,ICDAR2015.data说明了训练路径、参数等信息。 2.模型结构构建 models.py 主要看YOLOLayer和Darknet类,对应yolov3.cfg来进行网络结构的搭建,网络结构图如下,讲解可见[1]:...

络小绎 5627

从经典习题到AI实战:一份练习题重构人工智能高效学习路径

人工智能作为一门融合了计算机科学、数学与工程实践的交叉学科,其核心在于让机器模拟人类智能行为。其基本原理涉及从数据中学习规律,通过算法模型实现感知、推理与决策。掌握人工智能技术,对于推动产业智能化转型、解决复杂现实问题具有重要价值,广泛应用于计算机视觉、自然语言处理、智能推荐等场景。本文以经典的人工智能练习题为切入点,系统拆解了人工智能的知识图谱,并规划了一条从理论认知到项目实战的清晰学习路径。文中深入探讨了如何利用大语言模型(LLM)和智能体(Agent)等现代技术工具,将经典算法原理与现代工程实践相结合

weixin_30721077的博客 350

python代码过程中遇到的种种bug

第一行:国际惯例咕咕咕第二行:不记下错误和解决方法,我就每次都得现搜。我清楚地记得我遇到过这些错,我也清楚地记得我忘记怎么解决了。第三行:我生平最讨厌配环境。(但还是配好了第四行:本地能跑服务器跑不起来我再次自闭,跑去配服务器环境了。以下bug环境相关的都略了,pip conda啥的一阵儿安装:(【upd:本地真好配服务器环境全是bug贴下面了:(】

MoonLight_月亮 3351

PyTorch深度学习入门实战:从环境搭建到CNN图像分类项目

深度学习作为机器学习的重要分支,其核心在于利用多层神经网络自动学习数据的层次化特征表示。其原理是通过构建包含大量参数的计算图,利用反向传播算法和梯度下降优化参数,使模型能够从图像、文本等高维复杂数据中提取有效特征。这一技术价值在于解决了传统方法特征工程困难的瓶颈,推动了计算机视觉、自然语言处理等领域的突破性进展。PyTorch作为当前主流的深度学习框架,以其动态计算图和直观的接口,极大地降低了研究和工程实践的门槛。在应用场景上,从基础的张量运算、自动求导,到构建卷积神经网络完成图像分类任务,PyTorch

weixin_30512043的博客 385

mmdetectionIndex put requires the source and destination dtypes match, got Half for the destinatio

Index put requires the source and destination dtypes match, got Half for the destination and Float for the source.

chhj_292 952

tensor bool转bytes

RuntimeError: Index put requires the source and destination dtypes match, got Byte for the destination and Bool for the source. TP[b, i] = (pconf > 0.5) & (iou_pred > 0.5) & (pcls == tc.cpu()) FP[b, i] = (pconf > 0.5) & (TP[b, i] == 0)

juluwangriyue的博客 4201

手把手教你如何配置mmdetection训练(win10环境)

本文在win10环境下对mmdetection工具箱进行一个详细的配置教程,表中为创建的虚拟环境核心模块版本号。Name版本python3.7torch1.8CUDA11.1cudnn8.2.0mmcv2.0.0一、mmdetection下载下载完成之后使用pychram打开如下图所示:接下来对mmdetection的基本环境进行配置 ,采用Anaconda3新建虚拟环境。

PolarisFTL 1万+

高效MMdetection(3.1.0)环境安装训练自己数据集教程(实现于Linux(ubuntu),可在windows尝试)

很久没用mmdetection了,作为目标检测常见的几个深度学习框架,mmdetection用的人还是很多的,其中比较吸引人的一点就是mmdetection集成了非常多的算法,对于想做实验对比和算法学习的人来说,基于这个框架可以事半功倍。因为外面提出的各种各样的算法依赖的环境会有所不同,数据集的格式也有区别,我们单独去跑这一个个算法实际上是很费劲的,所以mmdetection的出现直接把这些算法集成到一个统一的平台,对于大家系统性的学习非常便利。很常规的操作,不熟悉的需要时间理解摸索一下,

qq_44442727的博客 1789

mmdetection安装与个人数据的训练

第一部分:mmdetection安装 1. 首先查看一下gcc的版本,有的服务器gcc版本较低,导致后续安装出现问题(大部分无此问题) gcc --version 官网v1.0rc0 (27/07/2019)版本要求GCC: 4.9/5.3/5.4/7.3 2.创建基本运行环境 注:这里使用anaconda管理项目环境,不建议使用Anaconda3-2019.03-Linux-x86...

Hobart 1726

mmdetection安装训练自己的VOC数据集

mmdetection安装训练自己的VOC数据集mmdetection安装与VOC数据集训练一. mmdetection安装1.使用conda创建虚拟环境2.安装Cython3.安装mmcv4.安装pytorch5.安装mmdetection二. 使用mmdetection训练自己的VOC数据集1. 目录结构2. 修改class_names.py文件3. 修改voc.py文件4. 修改配...

qq_43229471的博客 4812

mmdetection训练自己的数据集

mmdetection文件下新建data文件夹,并按以下格式配置数据集

cq_xslw的博客 364

mmrotate自己训练修改参数

修改训练所需的模型 和 训练获得权重的目标文件夹(文件夹会自动创建)改为绝对路径模型选择想要训练成几类,就改成几。

zhuan__的博客 1417

MMDetection 简单教程之配置文件(MMDetection3D也可从此开始学习)

MMDetection 简单教程之配置文件(MMDetection3D也可从此开始学习)

weixin_45657478的博客 4056

RuntimeError: mat1 and mat2 shapes cannot be multiplied (1024x1 and 1024x3)

RuntimeError: mat1 and mat2 shapes cannot be multiplied (1024x1 and 1024x3) 前言:在学习pytorch 搭建神经网络的时候,测试网络发现出现RuntimeError: mat1 and mat2 shapes cannot be multiplied (1024x1 and 1024x3)的错误,记录下。 一、报错如下 Traceback (most recent call last): File "mobilenet_v1.p

excelNo1的博客 3万+

【已解决】Input type (struct c10::Half) and bias type (float) should be the same

本专栏是讲解如何改进Yolov8的专栏。改进方法采用了最新的论文提到的方法。改进的方法包括:增加注意力机制、更换卷积、更换block、更换backbone、更换head、更换优化器等;每篇文章提供了一种到N种改进方法。评测用的数据集是我自己标注的数据集,里面包含32种飞机。每种改进方法我都做了测评,并与官方的模型做对比。代码和PDF版本的文章,我在验证无误后会上传到百度网盘中,方便大家下载使用。这个专栏,求质不求量,争取尽心尽力打造精品专栏!!!!!

AI浩 9668

YOLO训练报错解决:RuntimeError: result type Float can‘t be cast to the desired output type __int64

【代码】YOLO训练报错解决:RuntimeError: result type Float can't be cast to the desired output type __int64。

crasher123的博客 940

【MM】MMCV 配置问题记录

MMCV配置基本存在的问题就是:mmcv版本过高\低。

iamlibr的博客 9890
上一篇: roLabelImg安装与使用
下一篇: ubuntu:退出conda base环境与删除没用的环境
机械专业的计算机小白
博客等级 码龄7年 78粉丝 · 99原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值