Ubuntu22.04安装mmdet 2.25.1+ mmdet3d 1.0.0rc6

一、前言

1、如果你是从零开始安装mmdet,那么可以参考我之前写的,去安装基础环境:

Ubuntu 22.04从零开始安装Openpcdet 0.6.0——详细记录过程(含4090+CUDA11.8)_空持千百偈,不如吃茶去的博客-CSDN博客个人搭环境过程,仅供参考。https://blog.csdn.net/weixin_44013732/article/details/130651896

2、这次安装提供两种安装方式:pip镜像源安装本地安装

其中本地安装的文件夹,已经放到了百度云下:

mmdet相关文件icon-default.png?t=N7T8https://pan.baidu.com/s/1cdYN6BYxB6ZZQj6_9u7Wsg?pwd=6666%C2%A0

两个选一个安装就好,有时候pip会因为版本问题安装不了,这时候就可以转战本地安装。 


二、安装过程


1、环境配置

  1. 显卡:4090和1660s(两个环境都安装了,没有问题)

  2. CUDA :11.1

  3. python:3.7

  4. torch:1.10.1+cu111

  5. torchvision:0.11.2+cu111

  6. mmdet:2.25.1

  7. mmdet3d:1.0.0 rc6

2、本次所有相关的安装文件打包好了

mmdet相关文件icon-default.png?t=N7T8https://pan.baidu.com/s/1cdYN6BYxB6ZZQj6_9u7Wsg?pwd=6666%C2%A0


二、安装过程

1、配置mmdet环境

(1)创建虚拟环境(无需安装包,Anconda自动安装python):

conda create -n mmdet python=3.7

(2)激活环境

 conda activate mmdet

(3)安装torch、torchvision

安装说明:推荐本地安装,否则pip会不小心安装成cpu版本。

①下载文件

百度云:找到以下文件夹,放着torch、torchvision安装包

②安装

使用pip指令实现本地安装

pip install torch-1.10.1+cu111-cp37-cp37m-linux_x86_64.whl torchvision-0.11.2+cu111-cp37-cp37m-linux_x86_64.whl

③测试

先输入python进入环境,输入以下指令:

import torch    # 如正常则静默
torch.__version__ #查看torch版本
import torchvision
torchvision.__version__ #查看torchvision版本
torch.cuda.is_available() #正常的话返回“True”
a = torch.Tensor([1.])    # 如正常则静默
a.cuda()    # 如正常则返回"tensor([ 1.], device='cuda:0')"
from torch.backends import cudnn # 如正常则静默
cudnn.is_acceptable(a.cuda())    # 如正常则返回 "True"

显示可以正常使用:

  ④官方下载网站

如果不想用百度云,下面是官方下载网站:

torch下载网站:https://download.pytorch.org/whl/torch_stable.html

torch 1.10.1(python3.7):https://download.pytorch.org/whl/cu111/torch-1.10.1%2Bcu111-cp37-cp37m-linux_x86_64.whl

torchvision 0.11.2(python3.7):

https://download.pytorch.org/whl/cu111/torchvision-0.11.2%2Bcu111-cp37-cp37m-linux_x86_64.whl


(4)安装mmcv-full 1.5.2

安装说明:这个mmdet和mmdet3d都需要安装,pip安装可能会报:error,具体看“四、报错”。

①pip安装(不一定能装上)

pip install mmcv-full==1.5.2

②本地安装

利用pip指令实现本地安装:

pip install mmcv_full-1.5.2-cp37-cp37m-manylinux1_x86_64.whl

 镜像源网站在:https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.htmlicon-default.png?t=N7T8https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html

有mmcv-full就不要再安装mmcv了。 

(5)安装mmsegmentation

安装说明:仅mmdet3d需要安装。

①pip 安装

pip install mmsegmentation==0.27.0

②本地安装

进入到/mmsegmentation-master文件夹下,执行:

pip install -r requirements.txt

python setup.py develop

 (6)安装mmdet

安装说明:如果你想运行mmdet而非mmdet3d,推荐本地安装,方便后面跑数据

①pip安装mmdet

 pip install mmdet==2.25.1

②本地安装mmdet

 进入到/mmdetection文件夹下,执行:

pip install -r requirements.txt

python setup.py develop

 

(7)安装mmdet3d

安装说明:这个推荐本地安装,因为后面还要生成数据

①pip安装

pip install mmdet3d==1.0.0rc4

②本地安装

这里安装个版本比较低的,否则mmdet3d会对mmcv要求很高。

进入到/mmdetection3d-master文件夹下

执行:

pip install -r requirements

python setup.py develop

 三、测试程序

1、下载数据集

有数据集的可以用自己的数据集,没有数据集的,我给你们提供一个编译好的小数据集

kitti小型数据集icon-default.png?t=N7T8https://pan.baidu.com/s/175VowZs0goXZe8ZKUJ5XDg?pwd=6666

大数据集

kitti大型数据集icon-default.png?t=N7T8https://pan.baidu.com/s/1C1gz9GmYIaFUHlA4C--Q0w?pwd=6666


2、训练

①进入到tools文件夹下:

/mmdetection3d-master/tools

②生成数据文件

生成说明:在运行代码之前必须要生成必要文件,否则会出现keyerror的错误。

python tools/create_data.py kitti --root-path ./data/kitti --out-dir ./data/kitti --extra-tag kitti

 

  这一步后会生成下方所示的kitti_gt_database及.pkl .json文件

# 这一步后会生成下方所示的kitti_gt_database及.pkl .json文件

kitti
├── ImageSets
│   ├── test.txt
│   ├── train.txt
│   ├── trainval.txt
│   ├── val.txt
├── testing
│   ├── calib
│   ├── image_2
│   ├── velodyne
│   ├── velodyne_reduced
├── training
│   ├── calib
│   ├── image_2
│   ├── label_2
│   ├── velodyne
│   ├── velodyne_reduced
├── kitti_gt_database
│   ├── xxxxx.bin
├── kitti_infos_train.pkl
├── kitti_infos_val.pkl
├── kitti_dbinfos_train.pkl
├── kitti_infos_test.pkl
├── kitti_infos_trainval.pkl
├── kitti_infos_train_mono3d.coco.json
├── kitti_infos_trainval_mono3d.coco.json
├── kitti_infos_test_mono3d.coco.json
├── kitti_infos_val_mono3d.coco.json

关键是下面几个json,如果不生成,就会报错“Keyerror:image_path”等错误。

③测试

a. 官方测试集

可通过去官网下载相应的权重:

GitHub - open-mmlab/mmdetection3d: OpenMMLab's next-generation platform for general 3D object detection.OpenMMLab's next-generation platform for general 3D object detection. - GitHub - open-mmlab/mmdetection3d: OpenMMLab's next-generation platform for general 3D object detection.icon-default.png?t=N7T8https://github.com/open-mmlab/mmdetection3d

以pointpillars为例:

训练(依然使用我们的): 

python ./tools/train.py ./configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py

 测试(使用官方pth权重文件):

python ./tools/test.py ./configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py ./work_dirs/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class/latest.pth --eval 'mAP' --eval-options 'show=True' 'out_dir=./test_results/pointpillars_test_result'

④自定义数据集

a.创建一个新文档:MFAF(mvxnet文件copy)

 b.更改一下MVXNet.py里的路径,在134行位置更改数据集路径

 c.下载pth文件,在MVXNet.py文件里有下载路径(load_from)

mvx_faster_rcnn_detectron2-caffe_20e_coco-pretrain_gt-sample_kitti-3-class_moderate-79.3_20200207-a4a6a3c7 .pth

当然你们可以自行选择下载,或者用自己训练好的pth

d.训练和测试

训练: 

python ./tools/train.py ./configs/MVXNET-COPY/MVXNet.py

 测试:

python ./tools/test.py MVXNet.py ./work_dirs/MVXNet/latest.pth --eval 'mAP' --eval-options 'show=True' 'out_dir=./test_results/pointpillars_test_result'


参考:

NVIDIA3090+Ubuntu环境下 MMdetection虚拟环境安装_3090显存虚拟化_Elizabeth-sun的博客-CSDN博客MMdetecion虚拟环境安装https://blog.csdn.net/sumeil/article/details/126667376


四、报错 

mmdet安装的相关问题,放在了另一篇博客中:
https://blog.csdn.net/weixin_44013732/article/details/130694483icon-default.png?t=N7T8https://blog.csdn.net/weixin_44013732/article/details/130694483

猜你喜欢

转载自blog.csdn.net/weixin_44013732/article/details/130675061
今日推荐