Linux系统下编译nms_rotated

文章讲述了在进行旋转目标检测代码训练时遇到的编译问题,包括`nms_rotated`的编译错误和CUDA路径问题。作者尝试了不同的Python版本和库版本,最终发现是GCC版本过高导致,通过安装并调整GCC版本解决了编译问题。
摘要由CSDN通过智能技术生成

进行旋转目标检测代码训练过程中,需对nms_rotated进行编译

进入nms_rotated文件夹,输入编译指令

cd utils/nms_rotated
python setup.py develop

记录实现过程中出现的错误及解决方法

1 error: [Errno 2] No such file or directory: ' :/usr/local/cuda- 11.3/bin/nvcc'

配置环境:

python 3.9,torch==1.10.1+cu113,torchvision==0.11.2+cu113,torchaudio==0.10.1+cu113

网上给出的大部分解决方法:

export CUDA_HOME=/usr/local/cuda

应该是有用的,再次运行出现了下面这个错误

2 RuntimeError: Error compiling objects for extension

这个问题最后没有去解决,直接重新配置了一个环境

配置环境:

python 3.8,

pytorch==1.10.0+cu11.3,torchvision==0.11.0+cu11.3,torchaudio==0.10.0+cu11.3

出现下面这个问题

3 error: command '/usr /local/cuda/bin/nvcc' failed with exit code 1

根据黄色框里的内容,应该是gcc版本太高了,降低gcc版本

查看gcc、g++版本指令:

ls /usr/bin/g++*
ls /usr/bin/gcc*

安装gcc、g++指令:

sudo apt-get install gcc-9
sudo apt-get install g++-9

设置gcc、g++优先级,最后的数字代表优先程度,数值越大,优先程度越高

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
sudo update-alternatives  --install /usr/bin/g++ g++ /usr/bin/g++-9 100

运行上述指令后会分别出现:

update-alternatives: 使用 /usr/bin/gcc-9 来在自动模式中提供 /usr/bin/gcc (gcc)
update-alternatives: 使用 /usr/bin/g++-9 来在自动模式中提供 /usr/bin/g++ (g++)

再次运行,成功编译

python setup.py develop
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值