ubuntu18.04+Pytorch+cuda10.1+cuDNN配置踩坑记

当前的主流深度学习环境配置应该都是ubuntu16.04+cuda8.0(或9.0),首次配置ubuntu18.04+Pytorch1.0.1+cuda10.1+cuDNN,踩了不少坑,配置快两天了,心态略崩,记录下来缓和一下此时的心情!


参考资料:
1. Ubuntu 16.04 上安装 CUDA 9.0 详细教程(强烈推荐阅读,18.04安装类似)
2. 解决Ubuntu18.04安装Nvidia驱动开机卡死


先总结一下问题:
ubuntu18.04安装软件与更新->附加驱动中的GTX1080驱动本身没有问题,但是安装了CUDA之后重启就会出现输完密码司机的情况,这也是本文主要说明的问题。

再说一下结果:
使用cuda10.1自带的n卡驱动安装的,还是会出现直接输入密码死机的情况,但是找到了解决办法(并不好用,但是没有办法)。


  1. 首先按照win10下安装类似在anaconda目录建了一个虚拟环境,打算在虚拟环境下安装pytorch+cuda+cudnn,但是装完发现都在base环境下,不知道怎么回事,求解答。。安装Pytorch,安装之前切记提前看好Pytorch gpu版支持的cuda版本,一定要与下载的cuda相同(我这里Pytorch支持的是cuda10.0,下载安装的cuda是10.1版本,亲测可行)
  2. 安装CUDA10.1,这里也是上面问题出现的主要步骤。一般选择下载就是runfile和deb两个类型。在选择下载之前,先看一下我踩的坑。第一次下了deb版本,直接在图形界面终端用sudo dpkg -i <文件名>安装的,安装重启后就出现输入登录密码后黑屏死机的情况。先说明一下,这里是n卡驱动的问题,如果遇到这种情况,这里给出了解决方案:
  1. 重启电脑,在logo出现时一直按shift进去grub启动界面
  2. 选择“ubuntu高级设置”,回车,可以看到第二项"recovery mode",光标移到该选项,按下字母“e”,进行编辑。
  3. 光标移动到以字符"linux"开头的那一行,将它的"ro recovery nomodestset",修改为"rw single init=/bin/bash",这一行后面如果还有内容全部删除(只是删除本行后面的内容,不要删除下一行的内容),然后按"ctrl+x"或"F10"重新载入,进入单用户模式。
  4. 接下来会进入单用户root模式,我们可以输入下面命令卸载Nvidia驱动:
    apt remove nvidia* --purge
    卸载过程中选择“Y”即可全部删除,删除完成后重启输入密码就能进去图形界面啦!

既然N卡驱动和ubuntu系统这么不对付,我们是不是就不能用N卡了呢?不是这样的。机(ku)灵(bi)的我又查阅了很多资料,终于意外的发现了这篇圣经,他解决的是16.04上安装N卡驱动后重启在登录界面无限循环的问题,但是却给了我一个思路去解决输入密码后死机的问题。

大家可以直接按照原作者的步骤来做,因为ubuntu版本更新的原因,有少量步骤结果略有不同,但是大体上还是一样的,即选择runfile文件下载,在TUI(即文本命令行界面,ubuntu18.04进入很迷,一般是在重启后ubuntu的logo出现时按ctrl+alt+F2~F6都行,然后ctrl+alt+F1回到图形界面,如果时机掌握的不好就重启再试一次吧哈哈)界面登录,并安装.run文件,这里建议将.run文件名更改为类似cuda10.1.run,并将文件放在 /home/<用户名> 目录下,方便安装。

这里注意,cuda10.1安装提示可能与原博文中有出入,先输入accept,然后选择install安装即可。安装完成后按照文章中步骤测试。再次重启后,会发现直接进去还是会死机(心如死灰。。)。怎么办呢?

重点来了!!!

再次重启,出现ubuntu logo时,按下ctrl+alt+F2~F6都行(我这里是这样),然后ctrl+alt+F1回到图形界面,输入密码,发现可以进去了,哈哈!!
亲测成功两次!目前打算非必要情况不关机或是重启了,太麻烦了。。

  1. cuDNN的安装
    这个就直接安装就行吧,选对版本,执行安装deb命令就行我记得是
sudo dpkg -i 
sudo apt install libcudnn7(写这篇文章时是cudnn7版本)
  1. 测试是否成功
    终端进入anaconda下的Python,在这之前先看看是否配置过anaconda的python为终端默认python
sudo gedit ~/.bashrc
export PATH="/home/xupp/anaconda3/bin:$PATH"
#测试Pytorch是否下载成功
import torch
#测试cuda能否使用,能使用则返回True
print(torch.cuda.is_available())

True
#测试cuDNN是否正常,正常返回True
from torch.backends import cudnn
a = torch.tensor(1.)
cudnn.is_acceptable(a.cuda())

True

2019.4.19更新...

感谢@Johnson_Yep同学的留言,这里解决了两个问题:

  1. TUI界面下,Ctrl+Alt+F1+F2一起按一定能进入图形界面(讲真,这是我第一次同时按4个键,哈哈..)
  2. 与NVIDIA驱动冲突的是gdm3显示管理,可以换成lightdm试试
    sudo apt install lightdm
    切换方式可以自行上网搜索

这里留下的几个问题是:

  1. 为什么在anaconda目录下创建的虚拟环境中操作,最后东西都安装到base中了?
    实测anaconda下利用conda创建虚拟环境可以使用,但是利用其他方法创建不可以。

  2. ubuntu18.04进入TUI(命令行模式)的快捷键到底是啥?(有时候按ctrl+alt+F1就锁屏死机了。。。但是有时候就可以回到图形界面,迷得一批。。)
    TUI界面下,Ctrl+Alt+F1+F2一起按一定能进入图形界面

  3. ubuntu18.04中查看cudnn版本的方法是什么?百度到的那行命令
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
    不管用,没有这个cudnn.h文件
    个人感觉是安装方式不同,我是直接用deb安装的,用压缩包安装应该是有.h文件的。

  4. 大家要是有什么好的解决办法请一定给我留言,欢迎讨论!

你可能感兴趣的:(ubuntu18.04+Pytorch+cuda10.1+cuDNN配置踩坑记)