BEVFormer环境配置

官网的教程说是Step By Step,但是实际上我按照步骤安装下来运行不了(BEVFormer GitHub地址)。主要是安装后关于包依赖产生的某些错误,特别是安装nuscenes-devkit没有在步骤中列出来,后面就不好解决某些包的版本依赖了。参考一些博客以及官方安装教程后(blog1blog2),安装过程如下:
P.S. cuda版本是11.3,安装pytorch版本要对应,以及后面安装包也要对应这个版本,查看cuda版本(实际上应该说是Cuda Toolkit的版本)可以使用命令

nvcc -V

什么是CUDA?什么是大家在安装PyTorch过程中所谓的CUDA版本?nvcc命令和nvidia-smi输出的版本号有何区别?如果你有这类似的疑惑,可以看看这篇文章(关于 CUDA 的常识(以及 PyG 的安装)),解释得比较清楚也比较好懂。解决完你的环境问题,接下来就正式安装。
1.创建虚拟环境bevformer,如果下载慢,anaconda添加镜像源网上教程实在太多了,不贴链接,自己随便搜搜就有

conda create -n bevformer python=3.8 -y
conda activate bevformer

2.安装pytorch的GPU版本,在这里,我选择了离线安装,在线安装实在太慢,如果你想在线安装可以使用以下两种命令
(1)pip 安装(注意,这里-f指定了官方地址去查找对应安装包)

pip install torch==1.10.0+cu113 torchvision==0.11.0+cu113 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html

(2) conda 安装(没有改anaconda源的话,也可以在后面添加-c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/指定为清华源)

conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3

不过,我仍然是推荐直接下载whl,然后安装,很方便,也很灵活,whl官方的地址是whl的下载地址,其实就是到pip安装命令指定的那个地址自己把whl文件下回来然后自己安装。pip离线安装包很简单,就是pip install whl文件地址,这里主要讲讲怎么找到对应版本的whl,进入链接后会发现有些torch除了版本还会有cu113的字样,这就表示这是cuda 11.3版本的pytorch,然后后面还会有cp38或者cp39,这表示python版本分别是3.8,3.9,linux,win表示你的系统,根据自己需求下载即可,本文选择python3.8,cuda 11.3,Linux的文件,如下
在这里插入图片描述(3)使用如下命令安装(当前目录下存放了三个whl文件)

pip install torch-1.10.0+cu113-cp38-cp38-linux_x86_64.whl torchvision-0.11.0+cu113-cp38-cp38-linux_x86_64.whl torchaudio-0.10.0+cu113-cp38-cp38-linux_x86_64.whl

3.安装mmcv-full(注意链接里的cu113是和我们的版本对应的)

pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html

4.安装mmdet mmsegmentation

pip install mmdet==2.14.0 mmsegmentation==0.14.1

5.安装一些代码中用到的依赖包(特别是nuscenes-devkit,官方步骤没有提到,但是代码确实用到了)

pip install ninja tensorboard==2.13.0 nuscenes-devkit==1.1.10 scikit-image==0.19.0 lyft-dataset-sdk==0.0.8

6.改变numpy、pandas、setuptools版本,安装llvmlite

pip install numpy==1.19.5 pandas==1.4.4 llvmlite==0.31.0 setuptools==59.5.0

7.重头戏,安装mmdet3d,GitHub访问太慢可以手动去下载tags里面v0.17.1 版本的代码,然后直接执行最后一步python setup.py install就行。过程中如果看到关于CUDA的报错就去检查自己cuda版本对没对,如果是关于 timed out的报错那就是在Reading https://pypi.org/simple/networkx/这个过程中超时了,多执行几遍,运气好就能成功(或者你可以去看看setup.py源码,自己把这块给他改成国内源,另一种办法就是根据报错,把他需要的包先用pip装上,这里因为我是某个包卡住了所以没法全部列出来,可以根据报错自己慢慢找然后安装,有其他什么好的办法也可以评论分享给大家)

cd BEVFormer
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
git checkout v0.17.1 # Other versions may not be compatible.
python setup.py install

8.安装Detectron2,Timm

pip install einops fvcore seaborn iopath==0.1.9 timm==0.6.13  typing-extensions==4.5.0 pylint ipython==8.12 numba==0.48.0 scikit-image==0.19.3 yapf==0.40.1
# 安装 Detectron2,网卡会中断可以选择手动下载手动安装或者多试几次
python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'

到这里环境安装就结束了。想使用nuscenes的mini数据集对环境进行测试可以参考这篇文章后半部分BEVFormer代码复现

  • 32
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值