当前位置: 首页 > news >正文

MMDetection3D环境配置

序论

首先声明一下,官方文档地址MMDetection3D官方文档地址

根据文档介绍,只支持Linux和Mac,windows只是实验性支持,为了保险起见,我这里选择了Linux平台,安装了WSL,方便windows和WSL进行切换。

基础环境

不得不说,官方文档应该有好长时间没有更新了,以至于对于较新版本的Pytorch和CUDA不支持,我最开始安装的Pytorch2.1,CUDA12.1,到了后面总有编译不过的地方,MMCV出错误。

根据官方文档往下执行也是bug不断。不得已,Pytorch调整成了1.12,cuda调整为11.3,具体如下所示。

期间新建了一个conda虚拟环境,python选择的3.8版本,代码如下

conda create --name mmdet3d python=3.8
conda activate mmdet3d

检测是否安装成功

import torch
print(torch.version.cuda)

print(torch.cuda.is_available())

显示如下,安装成功

使用 MIM 安装 MMEngine,MMCV 和 MMDetection

pip install -U openmim -i https://pypi.mirrors.ustc.edu.cn/simple/
mim install mmengine
mim install 'mmcv==2.0.0rc4'
mim install 'mmdet==3.0.0'

这里不得不说,按照官方的步骤,mmcv>=2.0.0rc4,mmdet>=3.0.0

这样会默认安装最新的版本,有可能汇报版本不匹配的错误,我这里直接指定了版本。

GitHub下载项目 

https://github.com/open-mmlab/mmdetection3d进入网址通过git下载,切换分支,并在终端进入项目文件夹,这一部分我是根据官方做的,没出现错误。

git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
pip install -v -e .
# "-v" 指详细说明,或更多的输出
# "-e" 表示在可编辑模式下安装项目,因此对代码所做的任何本地修改都会生效,从而无需重新安装。

  检测mmdet3d是否安装成功

如果执行到这里没有问题,可以检测mmdet3d是否安装成功。

安装spconv

https://github.com/traveller59/spconv

pip install cumm-cuxxx -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install spconv-cuxxx -i https://pypi.mirrors.ustc.edu.cn/simple/

 xxx 表示环境中的 CUDA 版本,比如我的就是11.3,那么就是cumm-cu113。如果搞不清,建议去官网看看GitHub - traveller59/spconv: Spatial Sparse Convolution Library

验证安装

这里我安装官方文档去做的,报了错误。

自己去下载模型文件,新建checkpoints文件夹保存模型

mkdir checkpoints

地址如下:

mmdetection3d/configs/second at main · open-mmlab/mmdetection3d · GitHub

python demo/pcd_demo.py demo/data/kitti/000008.bin configs/second/second_hv_secfpn_8xb6-80e_kitt
i-3d-car.py checkpoints/second_hv_secfpn_8xb6-80e_kitti-3d-car-75d9305e.pth --out-dir outputs --print-result --show

由于我用的WSL系统,会出现windows无法展示的错误,需要安装一个Xlaunch工具,才能显示出来。

可以看到结果被保存在了outputs文件夹下面,我没有用--show参数,如果你是可视化的Linux系统,可以加上--show参数。

结果会保存在outputs目录的preds文件夹下

结果可视化

见下一篇文章


http://www.mrgr.cn/news/83149.html

相关文章:

  • 和为0的四元组-蛮力枚举(C语言实现)
  • 机器学习之随机森林算法实现和特征重要性排名可视化
  • CTF知识点总结(二)
  • Java高频面试之SE-10
  • 数据库模型全解析:从文档存储到搜索引擎
  • Blazor用户身份验证状态详解
  • Ubuntu中使用miniconda安装R和R包devtools
  • 如何在Windows上编译OpenCV4.7.0
  • Node.js中的fs模块:文件写入与读取
  • leetcode78.子集
  • (四)ROS通信编程——服务通信
  • Mapper XML 文件纳入 classpath 的解决方案
  • 微信小程序实现登录注册
  • C# 元组
  • 聚类系列 (二)——HDBSCAN算法详解
  • Vue3(一)
  • docker+ffmpeg+nginx+rtmp 拉取摄像机视频
  • vs2022开发.net窗体应用开发环境安装配置以及程序发布详细教程
  • 创建基本的 Electron 应用项目的详细步骤
  • spark汇总
  • 【W800】UART 的使用与问题
  • 电脑硬盘系统迁移及问题处理
  • C# 特性
  • Qt 5.14.2 学习记录 —— 팔 QWidget 常用控件(3)
  • 个人博客搭建(二)—Typora+PicGo+OSS
  • 学习记录:C++基类构造函数的调用:理解和实践