BEV电池(【亲测可用】BEV Fusion (MIT) 环境配置)
导读:CUDA环境 首先我们需要打上对应版本的显卡驱动:...
CUDA环境
首先我们需要打上对应版本的显卡驱动:
接下来下载CUDA包和CUDNN包: wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run sudo sh cuda_11.6.2_510.47.03_linux.run wget https://developer.nvidia.com/compute/cudnn/secure/8.4.0/local_installers/11.6/cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64.deb sudo apt install ./cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64.deb打开 ~/.bashrc文件 ,添加以下内容到最后:
export CUDA_HOME=/usr/local/cuda-11.6 export PATH="/usr/local/cuda-11.6/bin:$PATH" export LD_LIBRARY_PATH="/usr/lcoal/cuda-11.6/lib64:$LD_LIBRARY_PATH"前置环境(可选)
需要安装openmpi(这个我也不确定需不需要 ,小伙伴们可以试试)
下载openmpi安装包: wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.4.tar.gz解压安装
cd openmpi-4.1.4 ./configure --prefix=/usr/local/openmpi make -j8 sudo make install~/.bashrc文件里添加环境变量:
MPI_HOME=/usr/local/openmpi OMPI_MCA_opal_cuda_support=true export PATH=${MPI_HOME}/bin:$PATH export LD_LIBRARY_PATH=${MPI_HOME}/lib:$LD_LIBRARY_PATH export MANPATH=${MPI_HOME}/share/man:$MANPATH测试安装是否成功
cd openmpi-x.x.x/examples make mpirun -np 4 hello_cconda安装
找一个Anaconda或者miniconda下载安装:
bash Anaconda3-2021.05-Linux-x86_64.sh正式环境配置
OK,准备完毕 ,开始正式配环境
首先创建一个虚拟环境: conda create -n your_env_name python=3.8 conda activate your_env_name接下来建议完全按照我的指令来 ,里面的版本问题我已经踩过坑了
pip install torch==1.10.0+cu113 torchvision==0.11.0+cu113 -f https://download.pytorch.org/whl/torch_stable.html pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html pip install mmdet==2.20.0 conda install openmpi conda install mpi4py pip install Pillow==8.4.0 pip install tqdm pip install torchpack pip install nuscenes-devkit pip install ninja pip install numpy==1.19 pip install numba==0.48.0 pip install shapely==1.8.0参数修改
贴上MIT版本BEV FUSION的地址 ,clone一下代码:
git clone https://github.com/mit-han-lab/bevfusion.git以下两处需要改!
首先是这个文件 ,里面的4096都改成256 ,否则会爆显存 。 mmdet3d/ops/spconv/src/indice_cuda.cu接下来是 项目根目录的setup.py ,需要把显卡算力改成自己对应的 ,其余的注释掉 。例如我的3080是86(具体的算力对应大家可以查查)
"-gencode=arch=compute_86,code=sm_86"数据集准备
需要下载nuscenes数据集 ,大概600多GB ,解压之后,把train数据集(包括地图扩展包)放到项目文件夹的data/nuscenes目录下 ,如下红框所示:
回到项目根目录 ,运行数据集生成脚本,大概跑1小时 ,最后会变成上图的样子: python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes运行代码
首先执行配置脚本:
python setup.py develop接下来下载预训练参数:
./tools/download_pretrained.sh最后执行训练指令 ,原文readme里-np后面是8,这里要改成1(因为我们PC上跑是单GPU) ,不然会卡住不动
torchpack dist-run -np 1 python tools/train.py configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml --model.encoders.camera.backbone.init_cfg.checkpoint pretrained/swint-nuimages-pretrained.pth --load_from pretrained/lidar-only-det.pth创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!