Ubuntu上的深度学习环境配置

本文适用于配置 《动手学深度学习》书中的 Linux + NVIDIA 显卡环境。因文中对于GPU的安装描述略显简单,故结合个人经验拾遗补缺。

参考文献:

https://blog.csdn.net/xunan003/article/details/81665835

https://blog.csdn.net/u010801439/article/details/80483036

https://www.jianshu.com/p/52a49bcb2fac

1. 准备一台带有GPU的电脑(废话)

2. 安装显卡驱动和CUDA, cuDNN。

Ubuntu18.04 默认安装,一路回车即可。后续步骤参照我的显卡(GTX 1060 3GB显存)安装驱动程序等。

2.1 驱动安装

首先,禁用第三方开源的驱动程序nouveau,避免安装时登录界面循环问题。

禁用之前先查看nouveau驱动是否存在:

lsmod | grep nouveau

若显示为空可直接跳过后续步骤直接下载新版驱动。否则,执行命令编辑 blacklist-nouveau.conf 文件。

sudo vi /etc/modprobe.d/blacklist-nouveau.conf

修改后的文件内容如下:

更新系统,然后重启(务必)

sudo update-initramfs -u

重启后,验证nouveau是否已禁用

lsmod | grep nouveau

然后,官网下载相应驱动并安装:

下载完毕后,将文件拷贝到任意目录下并赋予运行权限。

sudo chmod  a+x NVIDIA-Linux-x86_64-xxx.run

图形界面下按“ctrl+alt+f1”进入命令行界面,在命令行界面下输入以下命令,关闭图形界面:

sudo service lightdm stop      

如安装过其他版本驱动,则卸载掉原有驱动:

sudo apt-get remove nvidia-*  

执行安装,附带以下参数:

sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files

-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件

安装过程中的选项,建议选择如下(选错了也没关系,多试几次就行了):

1. DKMS:No

2. 32-bit 兼容:No

3. NVIDIA-xconfigutility :Yes

安装结束后,挂载驱动:

modprobe nvidia

执行命令检查驱动是否安装成功:

nvidia-smi

如果出现如下提示,则说明安装成功:

最后建议重启系统

2.2 安装CUDA和cuDNN

进入官网,选择CUDA版本并进行下载:

拷贝文件到任意路径,执行命令安装:

sudo sh ./cuda_10.xxx_linux.run

需要注意的是,因之前已经安装过显卡驱动程序,故在提问是否安装显卡驱动时选择No,其他默认即可。

安装完毕后,根据提示添加两条路径到 .bashrc 文件中(注意CUDA版本):

sudo vi ~/.bashrc

export PATH=/usr/local/cuda/bin${PATH:+:$PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

至此,CUDA安装完毕,可执行以下命令测试,若最后提示“pass”则安装成功,否则需要卸载后重新安装。

nvcc --version

cd /home/hyperly/NVIDIA_CUDA-10.0_Samples/1_Utilities/deviceQuery

make

./deviceQuery

之后安装cuDNN,需要注册后才可下载。

点击官网,注册账号后下载:

下载完毕后,进入文件夹,将 cudnn-10.1-linux-x64-v7.5.1.10.tgz 压缩包先解压,然后将其中的内容复制到 /usr/local 的CUDA安装文件夹里面。

sudo cp cuda/include/cudnn.h    /usr/local/cuda/include      

sudo cp cuda/lib64/libcudnn*    /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn.h   /usr/local/cuda/lib64/libcudnn*

至此,cuDNN的安装完成。

此外,若需要删除CUDA和cuDNN,可使用如下命令:

sudo /usr/local/cuda/bin/uninstall_cuda_10.0.pl

sudo rm -rf /usr/local/cuda

3. 配置GPU版本的运行环境

3.1 参照书中完成前两步的配置,即安装Miniconda和下载解压最新代码。

3.2 使用conda直接创建GPU版本的虚拟运行环境。

此处需根据显卡驱动版本,改变为依赖为GPU版本的MXNet。使用文本编辑器打开本书的代码所在根目录下的文件environment.yml,将里面的字符串“mxnet”替换成对应的GPU版本。例如,本机上装的是10.0版本的CUDA,则将该文件中的字符串“mxnet”改为“mxnet-cu100”。同时还需要更新MXNet的对应版本(若版本不对则会报错,直接从出错信息中选择一个最新的版本号然后修改environment.yml文件即可)。

保存文件后退出,例如本机最后的配置信息如下:

3.3 激活环境并使用Jypyter。


P.S. 如果重新下载了代码,则需要按照书中所述,卸载MXNet, 更新environment.yml文件并重新激活环境。

你可能感兴趣的:(Ubuntu上的深度学习环境配置)