1.环境安装
我的机器是RTX3090,CUDA11.1
-
1.创建虚拟环境
conda create -n bevfusion python=3.8.3
-
2.安装PyTorch 和 torchvision
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
- 因为RTX3090适配CUDA11以上的版本,更适合Pytorch1.8.0及以上,(BEVFusion要求CUDA 9.2,Pytorch=1.3.1,不能完全安葬github上的),Pytorch1.9及以上的又不适配要求的mmcv和mmdet版本,所以这么完全是按照RTX3090安装环境
-
3.安装MMCV
- 方法1:
- 下载地址:https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html
- cuda版本不一样,把地址中
cu111
改了就行
下载mmcv_full-1.4.0-cp38-cp38-manylinux1_x86_64.whl
- cuda版本不一样,把地址中
pip install mmcv_full-1.4.0-cp38-cp38-manylinux1_x86_64.whl
- 下载地址:https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html
- 方法2:
pip install -U openmim -i https://pypi.tuna.tsinghua.edu.cn/simple
mim install mmcv-full==1.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
我是方法1成功的
- 方法1:
-
4.安装mmdet
在代码中mmdetection-2.11.0文件中编译安装,不需要去下载了
cd mmdetection-2.11.0
pip install -r requirements/build.txt
pip install -v -e .
如果遇到
bash
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> mmpycocotools
说明安装pip install -r requirements/build.txt
时安装的Cython版本太高了,降低版本即可:pip install Cython==0.29.36
,然后再次pip install -v -e .
-
5.安装MMDetection3D
先回到BEVFusion主目录
cd ..
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
pip install -v -e .
-
6.编译BEVFusion环境
cd ..
python setup.py develop
-
bug1:
bash
Installed /home/ywj/work/anaconda3/envs/bevfusion/lib/python3.8/site-packages/networkx-2.2-py3.8.egg
error: networkx 2.2 is installed but networkx>=2.8 is required by {'scikit-image'}
-
pip install scikit-image==0.19.3
-
bug2:
bash
Installed /home/ywj/work/anaconda3/envs/bevfusion/lib/python3.8/site-packages/llvmlite-0.31.0-py3.8-linux-x86_64.egg
error: numpy 1.19.5 is installed but numpy>=1.20.3; python_version < "3.10" is required by {'pandas'}
pip install pandas==1.4.4
2.数据准备
- nuScenes:
python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes
可能出现bug :说明MMCV版本没装对,装的是cuda10.1的版本,重新安装
bash
ImportError: libcudart.so.10.1: cannot open shared object file: No such file or directory