一般的安装CUDA时,大家都会在~/.bashrc中添加如下内容
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
上述这个代码存在一个BUG,即在LD_LIBRARY_PATH不存在时,LD_LIBRARY_PATH会被赋值为":/usr/local/cuda/lib64"而不是"/usr/local/cuda/lib64",有一个冒号的区别。这个BUG对于pytorch来说,是无所谓的,哪怕不加,pytorch也会通过/usr/local/cuda找到外部的CUDA(pytorch查找CUDA的过程)。但对于一些兼容性没那么好的代码而言,环境变量是最重要的,在~/.bashrc中,应使用这段代码来添加环境变量
if [ $LD_LIBRARY_PATH ]; then
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
else
export LD_LIBRARY_PATH=/usr/local/cuda/lib64
fi
if [ $PATH ]; then
export PATH=$PATH:/usr/local/cuda/bin
else
export PATH=/usr/local/cuda/bin
fi
if [ $CUDA_HOME ]; then
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
else
export CUDA_HOME=/usr/local/cuda
fi
在配置mmdection的时候前面的几个步骤都没什么问题,就最后一步的python setup develop的时候,出现了RuntimeError: Error compiling objects for extension 这个错误:
https://github.com/sshaoshuai/Pointnet2.PyTorch/issues/19 此处有一些解决办法(我自己没有尝试,感觉过于复杂,下面的解决方法要简洁许多)
需要注意的是,根据getting_started.md中的
第三行是有问题的,写的方式不正确,导致找不到CUDA_HOME的位置,需要修改为第四行的样式,可以正常进入setup环节 。
版权声明:本文为CSDN博主「隔壁王校长wyh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33287871/article/details/119001634
暂无评论