BEVFusion复现 (Ubuntu RTX3090)

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:
    • 方法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成功的
  • 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
相关推荐
范纹杉想快点毕业4 分钟前
嵌入式通信协议深度解析:从SPI/I2C到CAN总线的完整实现指南嵌入式工程师的炼成之路:从校园到实战的跨越
linux·运维·服务器·数据库·算法
zmjjdank1ng9 分钟前
理解bash和shell
linux·运维·开发语言·bash
小王要努力上岸18 分钟前
Linux 系统启动流程
linux·运维
若风的雨19 分钟前
ATF + ARMv8 多核启动流程图
linux·arm开发
阿钱真强道21 分钟前
07 jetlinks-ubuntu20-rk3588-部署
linux·运维·服务器·网络协议·tcp/ip
Realdagongzai21 分钟前
Python学习过程记录3-操作列表
linux·vscode·python·kernel
坐怀不乱杯魂21 分钟前
Linux网络 - Socket编程(IPv4&IPv6)
linux·服务器·网络·c++·udp·tcp
燃于AC之乐23 分钟前
【Linux系统编程】进程地址空间完全指南:页表、写时拷贝与虚拟内存管理
linux·操作系统·虚拟内存·进程地址空间
_OP_CHEN23 分钟前
【Linux系统编程】(二十三)从块到块组:Ext2 文件系统核心架构的初步认识
linux·操作系统·文件系统·c/c++·ext2文件系统·磁盘分区·块组
刘某的Cloud23 分钟前
docker cp 传文件,使用 docker exec 结合 tar 流传输,效率更高且能保留权限
linux·运维·docker·容器·系统