BEVFusion(ICRA-2023)--01

说明:论文 BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation 原代码运行记录
原始环境:python 3.9 + torch 1.12 (失败)
报错:

python setup.py develop

/mmdet3d/ops/ball_query/src/ball_query.cpp:4:10: fatal error: THC/THC.h: 没有那个文件或目录
            4 | #include <THC/THC.h>
              |          ^~~~~~~~~~~
        compilation terminated.
        ninja: build stopped: subcommand failed.
        Traceback (most recent call last):
          File "............................/anaconda3/envs/py39/lib/python3.9/site-packages/torch/utils/cpp_extension.py", line 1808, in _run_ninja_build
            subprocess.run(
          File "............................/anaconda3/envs/py39/lib/python3.9/subprocess.py", line 528, in run
            raise CalledProcessError(retcode, process.args,
        subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
        .........................
        RuntimeError: Error compiling objects for extension

寻找解决方案,应为版本不匹配问题,修改set.py

# cmdclass={"build_ext": BuildExtension}, 
# 修改为:
cmdclass={'build_ext': BuildExtension.with_options(use_ninja=False)}

错误:

mmdet3d/ops/ball_query/src/ball_query.cpp:4:10: fatal error: THC/THC.h: 没有那个文件或目录
    4 | #include <THC/THC.h>
      |          ^~~~~~~~~~~
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1

/home/good/paper/BEVFusion-NeurIPS-2023/mmdet3d/ops/group_points/src/group_points.cpp:14:8: error: ‘THCState’ does not name a type
14 | extern THCState *state;
| ^~~~~~~~
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
File “/home/good/anaconda3/envs/bevp8/lib/python3.8/site-packages/torch/utils/cpp_extension.py”, line 1740, in _run_ninja_build
subprocess.run(
File “/home/good/anaconda3/envs/bevp8/lib/python3.8/subprocess.py”, line 516, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command ‘[‘ninja’, ‘-v’]’ returned non-zero exit status 1.

在这里插入代码片

问题可能为torch版本过高。

方法1:

THC.h在pytorch 1.11版本中被移除了,需要修改代码。
将set.py中提到的cpp文件的所有关于THC.h的代码修改:

//#include <THC/THC.h>
#include <ATen/cuda/CUDAContext.h>
#include <ATen/cuda/CUDAEvent.h>
//extern THCState *state;

涉及的文件包括:

src/ball_query.cpp
src/knn.cpp
src/group_points.cpp
src/interpolate.cpp
src/furthest_point_sample.cpp
src/gather_points.cpp

方法2:(失败了,仅记录)

按requirement搭建新的环境。
记录:

# Python >= 3.8, <3.9
conda create -n py38 python=3.8
conda activate py38
# OpenMPI = 4.0.4 and mpi4py = 3.0.3 (Needed for torchpack)
conda install -c conda-forge openmpi=4.0.4
conda install -c conda-forge mpi4py=3.0.3
# Pillow = 8.4.0 (see here)
# conda install -c conda-forge pillow=8.4.0
conda install pillow=8.4.0
# PyTorch >= 1.9, <= 1.10.2
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.7 -c pytorch -c conda-forge
# tqdm
conda install -c conda-forge tqdm
# torchpack
pip install torchpack
# mmcv = 1.4.0
conda install -c esri mmcv-full
# mmdetection = 2.20.0
pip install mmdet==2.20.0
# nuscenes-dev-kit
pip install nuscenes-devkit

报错:

writing manifest file 'mmdet3d.egg-info/SOURCES.txt'
running build_ext
Traceback (most recent call last):
  File "setup.py", line 42, in <module>
    setup(
.........................................
    match = self._regex.search(version)
TypeError: expected string or bytes-like object

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值