文章目录
前言
Ubuntu16.04系统下基于pytorch的代码环境需要配置pointnet2_ops_lib。笔者虚拟环境配置为Ubuntu16.04、pytorch1.8.2、cuda11.1、python3.6。pointnet2_ops_lib源码来自
erikwijmans/Pointnet2_PyTorch
,配置要求在作者书写的README里说得很清楚了,仔细阅读。总体来说,虚拟环境里缺啥装啥,记录下遇到的问题及解决方法。
一、No module named ‘pointnet2_ops’
刚开始跑代码的时候,报错:No module named ‘pointnet2_ops’,搜索以后才知道这个计算子需要单独配置。在上述链接处下载代码压缩包Pointment2_PyTorch-master.zip,解压后放入相关代码文件夹里。
进入创建好的虚拟环境(笔者:py36_pt182),cd到pointnet2_ops_lib文件夹所在目录(笔者:/EdgeDetect/Pointment2_PyTorch-master),运行命令:
pip install -r requirements.txt
缺啥装啥。
二、Failed building wheel for grpcio
requirements.txt里前面需要的依赖包,查漏补缺,几乎用pip install都能解决,笔者遇到的第一个非pip install可以解决的问题:Failed building wheel for grpcio。
解决办法:笔者的pip版本比较低,version 9.0.1,终端上一直有黄色字体提醒我升级pip版本,我就尝试升级了下pip版本:
pip install --upgrade pip
然后再继续install requirements.txt,这里已经安装过的模块,会显示requirement already satisfied,会继续往下跑代码。
pip版本升级后,就可以下载grpcio了。
三、nvcc fatal: Unknown option ‘-generate-dependencies-with-compile’
本来一路顺畅,突然一大片红字出现,找了半天才看到问题:nvcc fatal: Unknown option ‘-generate-dependencies-with-compile’ 和 RuntimeError: Error compiling objects for extension。
原因:
虚拟环境使用anaconda配置的是cudatoolkit11.1.74,笔者Ubuntu本地local cuda 软链接指向的是cuda8.0,所以在编译的时候(runtime)出错了。需要将本地cuda软链接指向cuda11.1。
解决方法:
参照
Ubuntu16.04装CUDA和cuDNN
下载cuda11.1.1(这是笔者需要的版本),安装步骤有区别。参考
Ubuntu18.04安装CUDA11.0 Installation failed. See log at /var/log/cuda-installer.log for details.
来安装。
这里填写accept。
这里用回车键取消driver前的X。
方向下键选Install,回车。
安装cuda11.1成功。安装后,cd到local查看下cuda文件夹(会有cuda11.1文件夹)和目前软链接指向(‘stat cuda’)。
接下来更改cuda软链接指向cuda11.1。
sudo rm -rf /usr/local/cuda #删除软链接
sudo ln -s /usr/local/cuda-11.1 /usr/local/cuda #重新建立指向cuda11.1的软链接
查看此时的cuda软链接指向。
最后,全程就没问题啦~~
Successfully!!!!!
相关
-
cuda和cudatoolkit
,这里说得很清楚二者的关系以及使用多版本cuda的方法。 -
给虚拟环境指定cuda,看了下,感觉很高级,但是没尝试,mark。
【引路帖】【conda虚拟环境】【cuda】多个cuda版本路径切换
;
给虚拟环境指定cuda