DeepLearningBasic - 深度学习环境搭建——Ubuntu + CUDA + cuDNN安装全套教程

  • 本次安装各个版本:
    ① Ubuntu 18.04.2 LTS
    ② Nvidia Driver 440.36
    ③ CUDA 10.0.130_410.48_linux
    ④ cuDNN 10.0-v7.6.5.32-linux


1. 硬盘空间准备

此次安装为 Windows + Ubuntu 双系统,所以需要先准备 Ubuntu 的硬盘安装空间。在 Windows 中,右键左下角的 Win 图标,选择磁盘管理,通过压缩卷或者删除卷操作,根据需求腾出合适的空间用于安装 Ubuntu 。

如果发现磁盘管理中压缩卷或者删除卷等按钮全部为灰色的,无法操作,可以下载 分区助手 ,一般就可以直接操作。



2. 启动U盘制作

  • 准备一个空白U盘(不小于4GB);
  • Ubuntu官网 下载系统;
  • 使用UltraISO(软碟通):启动=>写入硬盘映像。默认选择USB-HDD+即可,点击写入。
    注意:不可直接解压ISO文件至U盘,因为会缺少必要的启动引导而无法安装系统。
    在这里插入图片描述
  • U盘启动盘制作完成。

注意:关于此次安装的 18.04LTS 版本,和之前的 16.04LTS 版本有一点小的区别,在此介绍一下:在18.04中,Ubuntu的图形界面GUI换成了GNORM,而16.04仍然使用的是Unity。
此外,我还尝试了20.04的安装,但是20.04需要关闭Intel的RST,操作相当麻烦,放弃了。



3. USB引导系统安装

  • 在安装之前,我们需要先进行一些 BIOS 修改,查询自己电脑进入 BIOS 的按键,然后开机时进入 BIOS ,在设置中,关闭 Secure Boot 选项(该选项其实是微软为了防止用户安装其他的操作系统设置的~小心机~),否则可能会安装失败。此外,在BIOS中将引导模式(Boot)设置为 UEFI 。

  • U盘启动,以Dell台式机为例: 在看到dell logo时,按下F12启动热键打开Boot Menu,选择UEFI模式进行引导,选择U盘开始引导。

3.1 禁用 nouveau 驱动

因为后续需要安装 Nvidia Driver ,所以需要禁用 Ubuntu 自带的 nouveau 驱动,试过多种办法后,找到如下方法来禁用 nouveau 驱动。

  • 安装 Linux 系统之前先关闭 Security Boot!(不同主板引导界面中该选项的位置可能不太一致,但是大多数都是 在BIOS boot 选项中的)

  • 在进入grub安装界面的时候,选中 Install Ubuntu 选项后按e,进入命令行模式,然后在 ‘quiet slash --’ 后面(也可能没有 – ),添加以下内容 ‘acpi_osi=linux nomodeset’ ,然后按F10重新引导。

    quiet splash --- acpi_osi=linux nomodeset
    

修改上述选项可以在开机的时候,禁用nouveau驱动。


3.2 系统安装

修改完成以上步骤后,进入系统安装选项,正常设置即可。一般分四个区:efi 分区: 500MB ; swap 分区:大致等于内存1~2倍大小;根目录“/”分区():100G左右,根据硬盘大小确定;“/home”目录:剩下所有的容量。

关于分区问题,也有人直接将所有空间分为根目录 ‘/’ ,所以具体如何分区,看个人喜好。

在后续操作过程中,可能会出现安装的窗口有一部分屏幕下方,导致部分按钮无法点击。此时,按下Alt+F7,鼠标会变成手指图标,即将窗口向上拖动即可。安装完成,重启。


3.3 查看系统简要信息

开机进入后,可以使用如下命令查看系统简要信息:

lsb_release -a

LSB是Linux Standard Base的缩写, lsb_release命令 用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数。

-v 显示版本信息。
-i 显示发行版的id。
-d 显示该发行版的描述信息。
-r 显示当前系统是发行版的具体版本号。
-c 发行版代号。
-a 显示上面的所有信息。
-h 显示帮助信息。


3.4 检查nouveau驱动是否禁用

开机进入以后,使用如下命令检测nouveau驱动是否禁用:

lsmod | grep nouveau

如果有输出,则说明nouveau驱动正在加载,未禁用,若无输出,则禁用成功。有时候使用上述的方法来禁用 nouveau 驱动,还是不能奏效,所以我找到了另外一个方法来禁用 nouveau 如下:

sudo vim lacklist-nouveau.conf

输入如下内容:

blacklist nouveau
options nouveau modeset=0

ESC:wq 保存并退出。然后,重新配置内核文件:

sudo update-initramfs -u

然后,sudo reboot 重启电脑,再次使用如下命令进行检查,一般能够成功禁用。

lsmod | grep nouveau

如果有输出,则说明nouveau驱动正在加载,未禁用,若无输出,则禁用成功。


3.5 安装中文输入法

在设置 Region & Language界面,点击“+”号,添加Chinese和Chinese(Intelligent Pinyin)两项,并将pinyin置顶。


3.6 开机后的一些小修改

如果安装 Ubuntu 时,选择的语言为简体中文,那么会有一个问题非常影响后续使用,就是文件夹的名称全部为中文的,在使用 shell 的时候,进行文件夹操作非常不便,所以我们进行一些小修改,将文件夹名称改为英文。

打开设置,语言和地区 => 管理安装的语言,在语言支持界面,将英文English拖到最上面,然后退出即可。退出以后,注销并重新进入 Ubuntu ,会提示是否将文件夹名称改为英文,选择同意,修改就会生效。

在这里插入图片描述



4. 安装NVIDIA Driver

使用 .deb 安装可以跳过这一步,直接从 这之后 开始执行执行。

注意:CUDA Toolkit Documentation 中,有对应的NVIDIA Driver版本和CUDA版本。
一定要下载安装配套的版本!!!!!

重启进入 Ubuntu 以后,要立即安装 NVIDIA 的显卡驱动。可以通过三种方式安装,现在只介绍手动安装方法:
去 NVIDIA 官网查看并下载合适驱动版本:NVIDIA驱动官网
注意: 存储路径名不要有中文!

注意: 在安装NVIDIA Driver之前,需要先安装两个包:gcc和make。

# 首先更新apt包管理源
sudo apt update
# 使用以下命令安装gcc和make
sudo apt install gcc
sudo apt install make

停止可视化桌面:

$ sudo telinit 3

之后会进入一个新的命令行会话,使用当前的用户名密码登录
在相应路径下安装NVIDIA驱动(安装文件也可为.sh后缀,如果提示没有权限使用sudo):

$ bash NVIDIA-Linux-x86_64-384.111.bin

按照以下步骤:
Accept License
The distribution-provided pre-install script failed! Are you sure you want to continue? -> CONTINUE INSTALLATION
Would you like to run the nvidia-xconfig utility? -> YES
在安装结束后,在命令行输入一下命令重启,NVIDIA驱动即可安装成功:

$ sudo reboot

测试nvidia 驱动是否成功安装,使用以下命令:

nvidia-smi 
nvidia-settings

4.1 安装一些小组件


gpustat:

可以使用如下命令安装gpustat包,可以查看GPU的一些简要信息:

pip install gpustat

使用 gpustat 可以查看信息:

gpustat
# 输出:
[0] GeForce GTX 1060 6GB | 43'C,   1 % |   481 /  6070 MB | gdm(28M) gdm(48M) lee(281M) lee(81M) lee(12M) lee(1M)

htop:

htop 是一个 Linux 下的交互式的进程浏览器,可以用来替换Linux下的top命令,相当于一个 Windows 中的务管理器,可以较方便的查看任务。

sudo apt install htop
htop

在这里插入图片描述



5. CUDA安装与卸载


5.1 CUDA安装

注意:CUDA Toolkit Documentation 中,有对应的NVIDIA Driver版本和CUDA版本。一定要下载安装配套的版本!!!!!

选好合适的版本后下载CUDA,下载地址:CUDA下载

建议下载 runfile(local),将文件下载下来再安装,选择 deb 文件一般需要使用 apt 包管理进行安装,CUDA 安装文件很大,使用该方式安装,如果下载中断,会很让人抓狂。

但是使用deb文件有一个好处是:一般使用deb安装时不会发生什么错误,而runfile文件需要手动屏蔽显卡核心,需要在关闭显卡模块的情况下安装CUDA,相对麻烦一些。

下载好以后,执行以下命令安装:

# runfile 文件执行命令 
sudo sh cuda_10.2.89_440.33.01_linux.run
# deb 文件执行命令
sudo dpkg -i app.deb

安装时,会自动安装一个 NVIDIA 驱动,可以调过上一步的驱动安装,直接使用 CUDA 安装驱动。但是有可能会安装失败,所以可以取消驱动安装选项(前提是已经安装好了NVIDIA驱动)。如果安装CUDA时没有选择安装驱动,之后可通过以下命令进行安装:

# To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run -silent -driver

安装完成后,使用以下命令检查CUDA是否安装:

nvcc -V

若提示找不到nvcc,则按照以下方法添加环境变量:

su root
vi ~/.bashrc
# 在文件末尾添加环境变量,cuda-***版本需要为安装的对应版本
export PATH=$PATH:/usr/local/cuda-10.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0
# wq! 保存退出
# 更新配置文件
source ~/.bashrc

添加以后即可使用nvcc 。

5.2 CUDA卸载

  • 卸载指令:
sudo /usr/local/cuda-10.2/bin/cuda-uninstaller
  • 删除残留文件:
sudo rm -rf /usr/local/cuda-10.2/

5.3 使用TensorFlow过程中关于CUDA的报错

  1. 若在PyCharm中使用gpu报如下错误:
Could not dlopen library 'libcublas.so.10.0'; dlerror: libcublas.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.2/lib64
Could not dlopen library 'libcufft.so.10.0'; dlerror: libcufft.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.2/lib64
Could not dlopen library 'libcurand.so.10.0'; dlerror: libcurand.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.2/lib64
Could not dlopen library 'libcusolver.so.10.0'; dlerror: libcusolver.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.2/lib64
Could not dlopen library 'libcusparse.so.10.0'; dlerror: libcusparse.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /usr/local/cuda-10.2/lib64
  • 解决办法:使用如下代码依次将报错中提示的文件copy到如下目录中。
sudo cp /usr/local/cuda-10.0/lib64/libcudart.so.10.0 /usr/local/lib/libcudart.so.10.0 && sudo ldconfig
sudo cp /usr/local/cuda-10.0/lib64/libcufft.so.10.0 /usr/local/lib/libcufft.so.10.0 && sudo ldconfig

6 cuDNN安装与卸载

6.1 cuDNN安装

在NVIDIA官网 cuDNN 下载对应所安装的CUDA版本的cuDNN。
共下载4个文件:

  • cuDNN Library for Linux;
  • cuDNN Runtime Library for Ubuntu18.04 (Deb);
  • cuDNN Developer Library for Ubuntu18.04 (Deb);
  • cuDNN Code Samples and User Guide for Ubuntu18.04 (Deb)。

安装过程:

  1. 安装过程实际上是把cudnn的头文件复制到CUDA的头文件目录里面去;把cuDNN的库复制到CUDA的库目录里面去。
    首先需要将下载的cudnn解压,之后再执行如下命令:
# 复制cudnn头文件至指定文件夹
sudo cp ./cuda/include/* /usr/local/cuda-10.0/include/
# 复制cudnn的库至指定文件夹
sudo cp ./cuda/lib64/* /usr/local/cuda-10.0/lib64/
# 添加可执行权限
sudo chmod +x /usr/local/cuda-10.0/include/cudnn.h
sudo chmod +x /usr/local/cuda-10.0/lib64/libcudnn*

cuDNN 同样需要添加环境变量:

vim ~/.bashrc
# 加入下面的内容
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
  1. 另外3个文件夹,执行以下命令:
sudo dpkg -i libcudnn7_7.4.2.24-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda9.0_amd64.deb
  1. 检测是否安装成功:
cp -r /usr/src/cudnn_samples_v7/ /home/jason/
cd /home/jason/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

若显示 Test passed! ,则安装成功。

6.2 cuDNN卸载

因为cuDNN是一种插件式设计,所以直接删除文件即可:

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值