解决RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED 踩过的坑(配置环境:linux+anaconda3+pytorch ...)

这个问题花了我好长好长时间,大概四五天~ 解决了之后好事很开心的,所以想记录一下,第一次写博客,有什么不对的地方希望大家可以指出来,大家一起学习~

 

之前在linux系统(Ubantu)上稀里糊涂配置好的环境,后来被同实验室的小伙伴跑程序的时候不小心改动了,我想着这可不行啊,于是就自己设置了一个账号和密码,因为就我知道密码,所以在此账号下配置好的环境不会被轻易改动~

申请了新账号,就相当于有一个属于自己的linux桌面,感觉有点爽~    好了,开始配置环境~

先去anaconda官网下载了anaconda3(默认Python3.7),安装很顺利,一直按要求yes,安装好之后就安装pytorch。我知道实验室服务器的cuda版本是9.0的,我就去pytorch官网找相应的安装命令,如下:

解决RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED 踩过的坑(配置环境:linux+anaconda3+pytorch ...)_第1张图片

但是我发现,咦?怎么没有cuda9.0版本的?然后我就自作聪明,把命令里的9.2改为9.0:

conda install pytorch torchvision cudatoolkit=9.0 -c pytorch

能安装,超级慢,因为是在外网上下载,很容易就出现httperror的错误,那怎么办,各种百度,看到一个简单地方法:把-c pytorch去掉,就会默认下载地址为清华源地址,后来发现,去掉-c pytorch对选择的Python版本也很有影响,比如你选择的是Python3.6版本,如果去掉-c pytorch,就会下载Python3.7版本的,所以这个方法应该是行不通的。

反正各种折腾,最后安装上了,但是,跑程序的时候,出现了 RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED 的错误,一脸懵,各种百度,还问师兄,问代码能力强的人,师兄们和代码能力强的小伙伴也在百度,那好吧,我还是自己再百度一下吧,百度上的说法总结如下:

1、Python + pytorch + cudnn + cuda 各种的版本不对应导致(链接1);

2、GPU显存被占满,把僵尸进程一一杀掉就好了(链接2);

3、2080ti的显卡太新,不应该用cuda9.0,应该用cuda10.0,然后就重新卸载并安装cuda(链接3);

按照以上思路,我先把anaconda3卸载了,找了一个python3.6版本的anaconda,然后各种安装pytorch(Python3.6,cuda9.0),然后,然后又报同样错,o(╥﹏╥)o  。然后按照方法2找杀死僵尸进程的方法,由于本人代码能力不强,查看进程后出来一大堆进程,也不知道要杀死哪个,好嘛,这个方法不能用了。然后我就综合方法3,卸载了之前的环境,仔仔细细地认认真真地又配置了一遍各种环境,下面就是正确解决这个错误的方法了,总的来说,还是环境配置的不对,个人认为,最主要的是安装pytorch的时候的cuda版本,真的是错一点点都不行~~     

咳咳,开始我解决问题的正文:(该方法并不一定适合所有人,但可以给遇到这个错误的小可爱们提供一个参考)

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~正文分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

首先找一个Python3.6版本的anaconda3(师兄推荐我用3.6版本的,因为3.7太新了,可能不太方便),不要去官网下载,也不要把安装好的Python3.7版本的anaconda3用网上的方法降级为Python3.6,根据链接4查看anaconda和python 版本的对应关系,去清华镜像anaconda下载地址(链接5)下载自己需要的anaconda3,在linux系统的终端用 bash 命令进行安装,一直yes就好,最后输入conda看看是否安装成功,安装成功就下一步     ------>

激活base环境:

conda activate base

也可以自己创建一个conda环境,并激活:

conda create -n my-conda python=3.6  # 创建一个名为my-conda的conda环境

conda activate my-conda  # 激活环境

查看自己GPU的cuda版本和cudnn版本,输入命令:(这里很重要)

cat /usr/local/cuda/version.txt      # 查看cuda版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2    # 查看cudnn版本

看到自己的cuda版本是:cuda9.0.176 ,然后去清华镜像下载对应的pytorch版本(链接6),我选择的是linux-64系统下的pytorch和torchvision,我的版本选择如下:(对于我来说pytorch官网的下载指令是个坑,各种慢,最后还报HTTPerror的错)

解决RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED 踩过的坑(配置环境:linux+anaconda3+pytorch ...)_第2张图片

解决RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED 踩过的坑(配置环境:linux+anaconda3+pytorch ...)_第3张图片

注意,torchvision不能选择torchvision0.3.0-py3.6_cu9.0.176_1.tar.bz2, 要选择上面的我选择的那个,因为torchvision0.3.0和pytorch1.1.0不匹配。下载好了这两个安装包后,在安装包文件的路径下,用如下指令安装:(下载也快,安装更快,开心,比官网的安装指令好太多了)

conda install --use-local XXXXX.tat.bz2

至此,一切都配置好了,跑程序的时候也很顺利,配环境之路真的是异常艰辛,但这个计算机科研的必经之路,希望大家能迈过所有的坎,走向人生巅峰~

你可能感兴趣的:(配置环境)