Ubuntu16.04下pytorch版本中pointnet2_ops_lib的配置


前言

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!!!!!


相关

  1. cuda和cudatoolkit,这里说得很清楚二者的关系以及使用多版本cuda的方法。
  2. 给虚拟环境指定cuda,看了下,感觉很高级,但是没尝试,mark。
    【引路帖】【conda虚拟环境】【cuda】多个cuda版本路径切换
    给虚拟环境指定cuda
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值