安装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重新安装该驱动:

  

        终于成功啦!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值