【深度学习】非 root 用户配置 Ubuntu 服务器,包括安装 Anaconda、CUDA、cuDNN、tensorflow-gpu
1. 场景描述
学校或者公司分配给每个学生或者员工一个服务器账号,用于做深度学习相关的实验。当登录到服务器后执行程序时发现无法使用GPU来做计算,默认是CPU。通常来说GPU的速度大约是CPU的50倍左右,如果想用服务器的GPU来跑算法该怎么办?
2. 安装CUDA和cuDNN
2.1. 确定需要安装软件的版本
要使用GPU加速网络的计算和推理过程,就需要安装相应的软件。一般需要的软件有python解释器、CUDA、cuDNN以及使用的深度学习框架(Tensorflow / Pytorch / others)。重要的是这些软件之间有很强的版本依赖问题,只要有一个软件的版本和其他软件版本不对应,就无法正确使用GPU加速。CUDA和cuDNN是必须要安装。(来自官网)

在本例中不演示驱动程序的安装,因为本服务器默认已经安装了驱动。并且服务器显卡驱动程序一般需要root权限才能安装,非root用户只能根据驱动版本来选择相应的CUDA版本,在安装CUDA之前首先确定本机显卡驱动版本,
通过命令:cat /proc/driver/nvidia/version 查看当前服务器版本,如下:

CUDA版本和NVIDIA驱动版本之间的对应关系如下(来自官网):

我的NVIDIA驱动版本为 440.33,由上图可知,只能安装CUDA 10.2.89 以下的版本。在本例中,我们选择安装10.1的CUDA 版本。
2.2. 下载CUDA
CUDA官网地址:https://developer.nvidia.com/cuda-toolkit-archive

随意选择一个10.1的版本,点击,然后根据自己服务器的配置选择相应选项,如下:

选择完成之后,会生成一段代码,如上图波浪线所示,复制代码,然后将CUDA10.1安装包下载到服务器指定文件夹下。
注意:本机需要安装的CUDA和系统中nvidia-smi显示的cuda版本是不冲突的
2.3. 下载cuDNN
CUDA版本确定之后,cuDNN的版本也就确定了,下载对应版本即可。python版本、CUDA、cuDNN 和 tensorflow 版本的对应关系如下:

cuDNN下载地址:https://developer.nvidia.com/rdp/cudnn-archive

随意选择一个CUDA10.1对应的cuDNN版本即可,本例选择第一个,点击,出现如下界面,根据自己的配置选择,这里选择第一个。(注意:这里可能不能直接使用 wget 命令下载,因为需要注册账号后才能下载,可将其下载到Windows,然后再上传到服务器)

2.4. 安装CUDA
在安装包所在目录下输入命令: sh XXX 进行安装,XXX表示CUDA安装包文件名,如:
sh cuda_10.1.243_418.87.00_linux.run 开始安装。
- 输入accept
- 按空格根据需要选择要安装的模块,有“X”的表示安装,没有的表示不安装,本机已经安装过驱动了,所以这里选择不安装驱动:

- 按上下键移动到CUDA Toolkit 10.1上,然后按“A”键,出现:

- 全部不安装并更改Toolkit Install Path:

- 再返回主界面然后选择Options->Library install path:

- 输入和 Toolkit Install Path 相同的路径

然后确定,返回选择Install。
2.5. 配置cuDNN
在存放CUDA安装包的路径下新建一个名为temp的文件夹,然后使用指令:tar -xzvf /home/zb/cuda/cudnn-8.0-linux-x64-v7.1.tgz -C /home/zb/cuda/temp/ 将cuDNN解压到temp文件夹并执行以下命令:
cp /home/zb/cuda/temp/cuda/include/cudnn.h /home/zb/cuda/cuda-8.0/include/
cp /home/zb/cuda/temp/cuda/lib64/libcudnn* /home/zb/cuda/cuda-8.0/lib64
chmod a+r /home/zb/cuda/cuda-8.0/include/cudnn.h /home/zb/cuda/cuda-8.0/lib64/libcudnn*
2.6. 配置用户环境
修改个人用户目录下的 .bashrc 文件(使用命令:vim ~/.bashrc 打开文件,按 i 进入编辑模式,复制粘贴下面的命令,然后修改路径,完成后按 Esc 键退出 ,英文输入状态下输入:“:wq” 命令,然后回车),在文件最后面加入以下命令并保存(注意:需将对应的路径替换为自己的路径):
export PATH=/home/zb/cuda/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/home/zb/cuda/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
最后输入命令:source ~/.bashrc 使新配置的环境生效。
输入命令:nvcc -V,查看是否安装成功。
3. 安装Anaconda (推荐)
在安装好了CUDA和cuDNN之后,如果你还没有安装python环境,一般推荐使用Anaconda包管理工具,因为其中不仅包含了python解释器,同时也包含了众多常用的科学计算包,避免了频繁的手动去安装这些包。
获取Anaconda安装包最简单快捷的方式是从清华镜像网站下载,地址:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
在Linux环境下,使用 “wget + 具体版本链接” 的命令方式可以直接将需要的安装包下载到服务器。
使用命令:bash Anaconda4-1.2.0-Linux-x86_64.sh 进行安装。
注意:不同的Anaconda版本对应着不同的python版本,在选择Anaconda版本时请先确定自己需要安装的python版本,如上面列出的软件版本之间关系图所示。
如果已经安装了Anaconda,但是版本不对,可以先卸载再安装。卸载方法:卸载
4. Tensorflow-gpu安装
根据自己安装的CUDA、cuDNN和python版本,选择对应的 Tensorflow-gpu 版本进行安装即可。
安装命令:pip install tensorflow-gpu==2.1.0
检查安装是否正确,依次输入以下命令:
- python
- import tensorflow as tf
- print(tf._version_) //打印出相应tensorflow版本号
- print(tf.test.is_gpu_available()) //gpu返回值为ture即证明tensorflow-gpu安装成功。
参考资料
[1] https://blog.csdn.net/hizengbiao/article/details/88625044?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allfirst_rank_v2~rank_v28-2-88625044.nonecase&utm_term=linux%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%AE%89%E8%A3%85cuda&spm=1000.2123.3001.4430
[2] https://blog.csdn.net/qq_37541097/article/details/103933366?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164040857916780357224492%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=164040857916780357224492&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-2-103933366.nonecase&utm_term=tensorflow+%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4450
更多推荐
所有评论(0)