安装MMDetection3D的各种坑

在尝试执行`pipinstall-v-e`时遇到mmdet3d模块的编译错误,具体为缺少cuda_runtime_api.h头文件。尝试了修改PATH、软链接以及在.bashrc中添加路径等方法无效。最终通过查找并添加头文件的绝对路径解决了编译问题。随后遇到`listindexoutofrange`错误,怀疑是NVIDIA驱动问题。通过安装dkms并重新安装驱动解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

执行pip install -v -e .时

报错:mmdet3d/ops/spconv/src/all.cc:15:30: fatal error: cuda_runtime_api.h: 没有那个文件或目录
    compilation terminated.
    error: command '/usr/bin/gcc' failed with exit code 1
    error: subprocess-exited-with-error
    
    × python setup.py develop did not run successfully.
    │ exit code: 1
    ╰─> See above for output.

同之前写的这篇文章https://mp.csdn.net/mp_blog/creation/editor/131216456

        网上各种方法都试过,最多操作就是在.bashrc文档里添加PATH路径,于我而言是没有用的,还有一种方法是把路径链接过来,试过但是没用。解决这个问题的一个启发就是复制别的博主添加的PATH:/usr/local路径,source之后报错发现自己压根就没有那个文件夹,为了看看自己是否有那个文件,执行:

find -name 'xxx'

        然后把路径添加到PATH,还是一样报错。那就用python里面最原始的方法,把头文件报错的.h文件改为含绝对路径的.h文件。工程量当然是巨大的,因为很多文件都报错了:

         我是一个个改的,因为只有这样我才会不报错,没有更好的解决办法,有好方法欢迎分享。头文件报错的问题 解决完之后,迎来了新的报错:

 arch_list[-1]+='+PTX'

IndexError: list index out of range

        网上对此报错主要是基于这两点来进行: 一个是下标超出,一个是list是空的。大部分都是python爬虫错误,我用print试了一下,运行会跳过这个直接报原来的错误。我找到了另一种解决办法,出现此问题可能是nvidia的问题,输入nvidia-smi:  

        输入nvcc -V,cuda是显示存在的:  

        可能因为上次停电,服务器重启的原因。上面可以看到nvidia的驱动driver还存在,解决方法是,首先安装dkms:  

        安装过程,我选择了N保留原来的版本。然后查看驱动版本:          使用dkms重新安装该驱动:

  

        终于成功啦!

<think>好的,用户想在Windows系统上安装和配置mmdetection3d环境。首先,我需要回忆一下相关的安装步骤和可能遇到的问题。根据提供的引用资料,特别是引用[5]提到了在Windows上配置mmdetection的基础环境,包括安装依赖包如openmim、mmengine和mmcv。不过mmdetection3d可能对版本有更严格的要求,因为引用[4]提到可能存在版本依赖问题,需要特别注意。 首先,用户需要安装Python环境,建议使用Anaconda来管理。然后安装PyTorch,需要确保CUDA版本匹配。接下来,安装mmcv-full,这里可能需要指定版本以避免兼容性问题。引用[5]中的命令使用了mim来安装mmcv>=2.0.0,但mmdetection3d可能依赖特定版本的mmcv,需要查看官方文档确认。 然后,安装mmdetection3d本身,使用pip install -v -e .,如引用[1]所示。但需要注意,Windows下可能有一些编译问题,需要安装Visual Studio Build Tools。此外,引用[2]提到需要open3d进行可视化,因此也需要安装这个库。 可能遇到的问题包括版本冲突,例如引用[4]指出mmcv-full低版本与mmselfsup不兼容,所以需要确保所有组件的版本兼容。另外,在Windows上可能遇到路径或权限问题,建议在conda虚拟环境中操作,避免影响系统环境。 最后,验证安装是否成功,运行测试脚本,并检查是否有错误。如果出现模块找不到的情况,可能需要检查环境变量或重新安装某些包。 总结步骤应该是:创建conda环境→安装PyTorch→安装mmcv→安装mmdetection3d→处理依赖项→验证安装。需要逐步指导用户,并提醒可能遇到的,比如版本匹配和编译工具安装。</think>### Windows系统安装和配置MMDetection3D环境分步指南 #### 一、基础环境准备 1. **安装Anaconda** 下载地址:https://www.anaconda.com/download 创建独立环境:`conda create -n mmdet3d python=3.8` 激活环境:`conda activate mmdet3d` 2. **安装PyTorch** 根据CUDA版本选择命令(需提前安装NVIDIA驱动和CUDA Toolkit): ```bash # CUDA 11.3示例(需与显卡驱动匹配) conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch ``` #### 二、关键依赖安装 1. **安装MMEngine和MMCV** 使用清华镜像源加速安装: ```bash pip install -U openmim -i https://pypi.tuna.tsinghua.edu.cn/simple mim install mmengine mim install "mmcv>=2.0.0" ``` 2. **安装编译工具** 必须安装Visual Studio 2019/2022,勾选以下组件: - MSVC v142 C++生成工具 - Windows 10 SDK #### 三、安装MMDetection3D 1. **克隆仓库** ```bash git clone https://github.com/open-mmlab/mmdetection3d.git cd mmdetection3d ``` 2. **安装依赖** ```bash pip install -r requirements.txt ``` 3. **编译安装主程序** ```bash pip install -v -e . # -v显示详细编译信息[^1] ``` #### 四、验证安装 1. **功能测试** ```bash python demo/pcd_demo.py demo/data/kitti/kitti_000008.bin demo/second_config.py checkpoints/second_xxx.pth ``` 若提示`No module named 'mmdet3d'`,检查环境变量是否激活正确 2. **可视化支持** 安装Open3D:`pip install open3d`[^2] #### 五、常见问题解决 | 问题现象 | 解决方案 | |---------|---------| | `RuntimeError: CUDA out of memory` | 降低batch_size或使用更小模型 | | `ImportError: DLL load failed` | 重装CUDA Toolkit和PyTorch | | `ModuleNotFoundError: mmcv` | 执行`mim install mmcv-full` |
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值