MMDetection环境配置与使用

news/2024/11/8 14:54:33/

在安装MMDetection时,耗费了近一天时间,其实安装很简单,只要保证环境对应即可(这不是废话吗),总而言之,只要严格按照步骤Windows下环境配置就是可行的。

Window环境配置

基础环境

CUDA为10.1

在这里插入图片描述

创建Conda环境

conda create -n mmdet python=3.7
activate mmdet

安装pytorch

pytorch官网

根据CUDA版本确定pytorch按照版本

pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

在这里插入图片描述
若是使用cuda安装可能会报错:

ImportError: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory

安装mmdet

cd E:\graduate\programsnew\mmdetection
pip install -r requirements/build.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

安装MMCV

MMCV安装教程

pip install mmcv==2.0.0rc4 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.8/index.html

在这里插入图片描述
如果安装的mmcv版本不对,则会报错:

 File "/home/ubuntu/.local/lib/python3.8/site-packages/mmcv/utils/ext_loader.py", line 13, in load_extext = importlib.import_module('mmcv.' + name)File "/usr/local/miniconda3/lib/python3.8/importlib/__init__.py", line 127, in import_modulereturn _bootstrap._gcd_import(name[level:], package, level)

pip list

最终安装完后的环境依赖包如下图所示:

在这里插入图片描述

简单调试

首先是train.py的运行,指定config文件与保存路径

parser.add_argument('--config',default="E:/graduate/program/mmdetection/configs/faster_rcnn/faster-rcnn_r50_fpn_2x_coco.py",help='train config file path')parser.add_argument('--work-dir',default="outputs", help='the dir to save logs and models')

修改数据集地址,MMDetection默认使用的数据集格式为COCO

在这里插入图片描述
随后运行:

在这里插入图片描述

随后报错:显存溢出

File “D:\Anaconda\envs\mmdet\lib\site-packages\mmcv\ops\roi_align.py”,
line 110, in backward
grad_input = grad_output.new_zeros(ctx.input_shape) RuntimeError: CUDA out of memory. Tried to allocate 132.00 MiB (GPU 0; 4.00 GiB
total capacity; 3.20 GiB already allocated; 0 bytes free; 3.49 GiB
reserved in total by PyTorch)

更换数据集:WiderPerson

训练自定义数据集

这里我替换了数据集后,运行报错:

f’class {obj_cls.__name__} in ’ # type: ignore ValueError: class
EpochBasedTrainLoop in mmengine/runner/loops.py: class CocoDataset
in mmdet/datasets/coco.py: need at least one array to concatenate

找到这个目录下的文件,修改文件里的 num_classes=2 ,修改成自己的类别数目。

configs_base_/models/faster-rcnn_r50_fpn.py

在这里插入图片描述

修改我们的类别名,两个文件需要修改,第一个文件是:

mmdet/core/evaluation/class_names.py

修改里边的def coco_classes(): ,将return内容修改成自己的类别。

第二个文件:

mmdet/datasets/coco.py

修改里边的class CocoDataset(CustomDataset): ,将 CLASSES = () 修改成自己的类别。

至此,修改结束,我们还需要重新编译一遍,这样才能生效,在mmdetection目录下运行:

python setup.py install

其他问题

ERROR: Could not find a version that satisfies the requirement regex;
sys_platform == “win32” (from mmcv) (from versions: none) ERROR: No
matching distribution found for regex; sys_platform == “win32”

解决方法:

pip install pypiwin32 -i https://pypi.tuna.tsinghua.edu.cn/simple

Linux环境配置

基础环境,博主是在服务器上配置的。

在这里插入图片描述

创建Conda环境

conda create -n mmdet python=3.7
activate mmdet

pytorch安装

本想安装pytorch1.12版本的但国内服务器没有安装成功,换了pytorch1.9,国内服务器时常存在这个问题,在访问外网时速度较慢。

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

安装mmdet

cd E:\graduate\programsnew\mmdetection
pip install -r requirements/build.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install -v -e . -i https://pypi.tuna.tsinghua.edu.cn/simple

安装MMCV

与Windows一样,保证版本对应即可

pip install mmcv==2.0.0rc4 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9/index.html

随后便是一些细枝末节的配置了,基本与Windows下相同,这里就不再赘述了。


http://www.ppmy.cn/news/258419.html

相关文章

Nvidia Jetson Orin:IMX490开发笔记

Jetson PXXX定义 P2180 -> Jetson TX1 P3310 -> Jetson TX2 P3489 -> Jetson TX2i P3448 -> Jetson Nano devkit P3448-0020 -> Jetson Nano production module P2888 -> Jetson Xavier P2888-0060 -> Jetson Xavier-8GB P3701 -> Jetson AGX Orin D…

云下自建Grafana获取阿里云监控数据

前言 官方文档,我看了要付费的 https://help.aliyun.com/document_detail/313316.html?spma2c4g.217924.0.i2 grafana:8.3.5 插件名称:aliyun-cms-services grafana安装: https://blog.csdn.net/qq_44379042/article/details/121852310 …

Flask开发简易网站疑难点梳理

文章目录 整体总结创建项目独立的python环境windows下python独立环境目录结构linux下python独立环境目录结构 大概需要安装的第三方库使用websockt实现python代码与html界面的通讯界面F12中看到提示连接成功后立马连接关闭。 linux下数据库查询异常初次登录web的时候背景图片和…

电视直播怎么显示服务器无法响应,四招让你的网络机顶盒看电视不再卡顿!

1、直播服务器压力大 据笔者的调查,大多数情况下网络机顶盒看电视直播总是卡是由直播服务器压力大引起的,尤其是在晚上的黄金时间段或者周末,很多朋友看电视直播都会感觉到有明显的卡顿,需要缓冲一段时间才能继续播放,…

skyworth电视怎么显示服务器异常,skyworth电视怎么看网络电视

大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。 skyworth电视怎么看网络电视的步骤方法: 1、在智能电视机或网络电视盒子的应用界面里找到内置的浏览器,点击浏览器打开后,用遥控器或自接的USB鼠…

用什么软件测试电视盒子真假,网络机顶盒哪个好?专业盒子测评告诉你哪款最值得买...

这几年,网络机顶盒开始慢慢的取代传统的有线电视和传统机顶盒,进入了人们的生活,让电视连接上互联网,让我们看电视能有更多丰富的体验。不过毕竟网络机顶盒也是电子产品,如果要选购的话还是需要仔细的斟酌一下。 现在网…

网络入门基础

文章目录 网络的位置计算机网络背景网络发展认识“协议” 网络协议初始协议分层OSI七层模型TCP/IP五层(或四层)模型 网络传输基本流程同局域网的两台主机通信跨网络的两台主机通信 网络中的地址管理认识IP地址认识MAC地址 网络的位置 我们通常在手机或者…

用机顶盒或网络电视机实现监控摄像头预览,完成简单的录相机功能,用机顶盒远程观看摄像头,多个监控可以同时观看,实时观看,也可以用机顶盒或网络电视观看局域网内的监控画面

用机顶盒或网络电视机实现监控摄像头预览,完成简单的录相机功能,用机顶盒远程观看摄像头,多个监控可以同时观看,实时观看,也可以用机顶盒或网络电视观看局域网内的监控画面 准备: 1、需要知道 监控摄像头的RTSP推播地…