BEVFormer代码跑通

1 环境配置

1.1 环境安装

复制代码
# 1 拉取源码   github加速代理https://ghproxy.com/
git clone https://github.com/fundamentalvision/BEVFormer.git

# 2 创建虚拟环境
conda create -n bev python=3.8 -y

# 3 激活虚拟环境
conda activate bev

# 4.1 安装torch,torchvision,torchaudio
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

# -i https://pypi.tuna.tsinghua.edu.cn/simple/

# 4.2 conda安装
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/

# 5 gcc版本 可选
conda install -c omgarcia gcc-6 # gcc-6.2

# 6  mmcv-full会装很久,可以先装openmim,用mim安装mmcv-full快一些
pip install mmcv-full==1.4.0 mmdet==2.14.0 mmsegmentation==0.14.1

# 7 源码安装mmdet3d-v0.17.1版本
# 7.1 进入bevformer目录
cd bevformer
# 7.2 下载mmdetection3d   github加速代理https://ghproxy.com/
git clone https://github.com/open-mmlab/mmdetection3d.git
# 7.3 进入mmdetection3d目录
cd mmdetection3d
# 7.4 切换v0.17.1
git checkout v0.17.1
# 7.5 安装mmdet3d-v0.17.1版本
python setup.py install

# 8 安装 Detectron2 and Timm
# 8.1 安装基本python依赖包
pip install einops fvcore seaborn iopath==0.1.9 timm==0.6.13  typing-extensions==4.5.0 pylint ipython==8.12  numpy==1.19.5 matplotlib==3.5.2 numba==0.48.0 pandas==1.4.4 scikit-image==0.19.3 setuptools==59.5.0 yapf==0.40.1
# 8.2 安装 Detectron2
python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'

# 9 下载预训练模型
# 9.1 进入bevformer目录
cd bevformer
# 9.2 创建并进入ckpts文件夹
mkdir ckpts && cd ckpts
# 9.3 下载预训练权重r101_dcn_fcos3d_pretrain.pth,github加速代理https://ghproxy.com/
wget https://github.com/zhiqi-li/storage/releases/download/v1.0/r101_dcn_fcos3d_pretrain.pth

1.2 运行报错汇总

复制代码
# 报错1 ImportError: libGL.so.1: cannot open shared object file: No such file or directory
# 修改:安装libsm6 libxext6 libgl1-mesa-glx
apt-get install libsm6 libxext6 libgl1-mesa-glx

 
# 报错2 ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
# 修改:安装libglib2.0-dev
apt-get install libglib2.0-dev

# 报错3 ModuleNotFoundError: No module named 'tools'
# 修改:添加python环境变量
export PYTHONPATH="./"

# 报错4
# from data_converter import indoor_converter as indoor
# File "/home/lin/Documents/BEVFormer/tools/data_converter/indoor_converter.py", line 6, in <module>
# from tools.data_converter.s3dis_data_utils import S3DISData, S3DISSegData
# ModuleNotFoundError: No module named 'tools.data_converter'

修改:./tools/data_converter/indoor_converter.py的6-8行位置左右
将from tools.data_converter.s3dis_data_utils import S3DISData, S3DISSegData改成由from data_converter.s3dis_data_utils import ...
也就是tools.data_converter换成data_converter


# 错误5 TypeError: FormatCode() got an unexpected keyword argument 'verify'
# 修改:更新yapf版本为0.40.1
pip install yapf==0.40.1

# 错误6 显存爆炸
# 修改:samples_per_gpu=1, 48G显存设2显存就炸了, bev没钞能力还是不要玩 

我没用use_can_bus将配置文件中use_can_bus改为False,生成数据use_can_bus有关的代码注释掉

相关推荐
高洁011 小时前
AI智能体搭建(3)
人工智能·深度学习·算法·数据挖掘·知识图谱
Hcoco_me3 小时前
大模型面试题71: DPO有什么缺点?后续对DPO算法有哪些改进?
人工智能·深度学习·算法·自然语言处理·transformer·vllm
哥布林学者4 小时前
吴恩达深度学习课程五:自然语言处理 第一周:循环神经网络 课后习题与代码实践
深度学习·ai
TTGGGFF4 小时前
人工智能:[特殊字符] Bert-Base-Chinese预训练模型部署手册
人工智能·深度学习·bert
kebijuelun4 小时前
DeepSeek Engram:给大模型新增一条“记忆稀疏”轴
人工智能·深度学习·语言模型·transformer
香草泡芙4 小时前
AI Agent 深度解析:原理、架构与未来应用浪潮
人工智能·深度学习·机器学习
yunhuibin4 小时前
CNN基础学习
人工智能·python·深度学习·神经网络
学习的学习者5 小时前
CS课程项目设计22:基于Transformer的智能机器翻译算法
人工智能·python·深度学习·transformer·机器翻译
StfinnWu5 小时前
论文阅读 Deep Residual Learning for Image Recognition
论文阅读·人工智能·深度学习
lkbhua莱克瓦245 小时前
机器学习的演进与深度学习的革命
人工智能·深度学习·机器学习