Ubuntu18.04双系统下安装CUDA10+cuDNN7.5

前言

本篇写于2019-4-25python

这两天装Ubuntu18.04双系统简直装到崩溃。一是很是著名的开机卡死在Logo界面的问题,另外一个是在装Nvidia驱动和CUDA的时候,更是费心。而网上的资料又参差不齐,走了很多弯路。因而作个总结,方便之后的本身,也方便别人。linux

首先:个人机器是戴尔灵越5577,如下方案不必定适合您的机器,操做失败还请自行百度解决,而且安装所CUDA和cuDNN版本请务必参照官网配置ubuntu

另外:安装过程当中并无保留截图,如下也只有文字叙述,有时间会补上。vim

装机

镜像是在Ububtu官网下载的镜像,这没有什么异议。启动盘制做方面我选择rufus,小巧免费好用,并且很是适合制做Linux启动盘。bash

选好U盘选好镜像后就能够制做了,我是选的默认设置,以下图。我也试过gpt格式的,都可。测试

制做完成后,关闭rufus就能够了,带着U盘,从新启动。ui

进入U盘引导(不一样品牌的电脑有不一样的方式,Dell是按F12选择启动方式),进入grub界面。google

你可能看过许多教程说的是,为防止开机开在Logo,选中Install Ubuntu,而后按e编辑。个人建议是先别这样作,由于编辑后进入的安装界面屏幕分辨率会很低,许多按钮在屏幕下方根本点不到,安装很不方便。这里我直接回车开始安装,至于会卡在logo这个问题,装好后再弄。.net

而后一步步安装就能够了。装的时候必定要注意:不要联网不要选安装驱动啥的,最小化安装便可手动分区。个人分区方式以下,共分给Linux 100G日志

目录 大小
/ 20G 逻辑分区
/boot 1G 逻辑分区
/home 69G 逻辑分区

装完后,会显示从新启动,若是点当即重启的话,不出意外,会卡在这里,不要紧,按住电源键不放,强制关机。再开机后就可看到系统选择界面了。

这个时候不要着急选择,先选中Ubuntu,按e键进入编辑,将倒数第二段最后(多是倒数第三行,不难分辨)的quiet splash 后加上nomodeset,注意nomodeset要和先后有一个空格。而后按F10,便可开机。

这时候,应该能够进入系统了,这个时候开始安装显卡驱动。

安装驱动

这里有不少教程说是经过sudo ubuntu-drivers autoinstall这个方法安装的,可是就我亲身经历而言,并很差使,这里安装驱动是没问题的,可是后来在安装CUDA的时候会遇到各类各样的问题。

这里的建议是,去Nvidia的官网选择一个适合你的显卡的驱动(我选的最新的),下载好备用。

在装驱动以前,先将nouveau加入黑名单:

sudo vim /etc/modprobe.d/blacklist.conf

在末尾加上一行blacklist nouveau

保存退出,执行

sudo update-initramfs -u

另外:因为折腾的次数比较多我还改了/etc/default/grub,不知道和这有没有关系:

sudo gedit /etc/default/grub

而后将quiet splash后面加上acpi_osi=linux

保存退出,执行

sudo update-grub

接下来按CTRL+ALT+F2,进入纯字符界面,以root身份登入,开始安装显卡驱动。首先进入刚才下好的驱动所在的目录,执行

sudo sh ./NVIDIA-Linux-x86_64-xxx.xx.run –no-opengl-files  # 必定不要忘记后面的参数

而后一路肯定,完成后重启系统,进入BIOS(戴尔是按F2,其余电脑型号请自行查找资料),关掉secure boot,设置为disable,关掉后保存重启。这里必定要关掉,否则开机后是无法用刚才装的Nvidia驱动的。

启动后在控制台输入nvidia-smi,若没有报错则证实安装成功。

安装CUDA

接下来,咱们安装CUDA,我这里使用的是CUDA10.0,由于目前tensorflow已经可使用CUDA10了,也就不挑旧版本安装了。

到Nvidai官网上找到CUDA10.0的下载连接,Nvidia给出的默认的CUDA的下载连接是CUDA10.1,由于我没试验过,因此不知道可不能够用,你能够自行决定。

依次选择 Linux -> x86_64 -> Ubuntu -> 18.04 -> runfile(local),选好后选择Base Install开始下载。

下好后,找到CUDA安装包所在的位置,在控制台输入

sudo sh ./cuda_10.0.130_410.48_linux.run

而后等待一会后,会出来安装协议,按住空格键快速看完。而后选择安装选项:

  • 第一项,选择accept接受。
  • 第二项,询问你是否安装CUDA中带的显卡驱动,因为咱们前面已经安装了驱动,因此不安装,选n
  • 剩下的,能选y的选y,能Enter的Enter就好。

装好后,在~/.bashrc最后 添加环境变量,保存后退出

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
export PATH=$PATH:/usr/local/cuda-10.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0

测试一下:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
sudo make
./deviceQuery

若最后一行的结果为Result = PASS,说明安装成功。

安装cuDNN

最后,去官网找对应版本的cuDNN,这里我选择的是7.5(7.4也是能够的),下载(这里须要登录Nvidia才能够)

将下载好的压缩包解压,通常解压出来的目录为cuda,拷贝到CUDA中

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

最后

至此,CUDA已安装完成,装个gpu版本的tensorflow试试(你也能够先使用virtualenv建立个虚拟环境再安装)

pip3 install tensorflow-gpu  # 这里pip3须要手动下载

装好后,进入python交互环境,试试Hello World

>>> import tensorflow as tf
>>> hello = tf.constant('Hello World')
>>> sess = tf.Session()
>>> sess.run(hello)
b'Hello World'

执行后,会有日志打印,若没有报错,即证实安装成功。


参考:

相关文章
相关标签/搜索