各位同学大家好,本教程将会一步一步的演示如何在一台安装了Ubuntu20.04的服务器上配置深度学习环境,使其成为深度学习工作站。
现在大多数深度学习攻城狮都会选择在云服务器上部署自己的深度学习环境,将其作为自己的深度学习工作站。在此我将介绍在Ubuntu 20.04 的深度学习工作站上配置深度学习环境的步骤。
本工作站的配置为一块Tesla V100,CPU为8核16G。
配置Ubuntu系统登录上服务器后,第一步为配置Ubuntu的系统。首先第一件事情肯定是给Ubuntu的软件管理器apt换国内镜像源。因为Ubuntu的apt源默认在国外,因此直接使用apt命令去下载软件速度非常的慢。
如果使用的是某某云这种的服务器,一般来说都会自动给我们配好自己的源(有可能自己的源内软件会不全),假如担心厂家配的源不全,或者是自己买的主机想要进行配置,则可以手动修改下源。
备份原有的源文件sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
新建源文件,并替换为阿里源sudo vim /etc/apt/sources.list
# 将以下内容复制进/etc/apt/sources.list内deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse# :wq退出vim
更新软件源和软件sudo apt updatesudo apt upgrade
至此,最基本的Ubuntu系统配置完成
安装NVIDIA GPU的相关环境对于一些厂家提供的云计算平台而言,往往会提前给安装好英伟达驱动和CUDA等配置,但是为了能够自定义版本啥的,或者是没有这些环境的,就需要自己去安装一下。
安装英伟达显卡驱动Ubuntu是可以直接通过apt安装英伟达驱动的(不过感觉20比18更容易装驱动了),直接通过以下命令就可以安装:
sudo apt install nvidia-driver-470-server
这里我选择的是安装470这个版本,如果想要安装别的版本的驱动,可以自行选择。同时由于我是在服务器上安装,因此选择server版本的,如果带图形界面的话就不选带server的驱动。安装完毕后可能需要重启下工作站,重启完毕后输入nvidia-smi,终端内即显示以下内容,说明显卡安装成功。
Fri Feb 11 10:21:48 2022 +-----------------------------------------------------------------------------+| NVIDIA-SMI 470.103.01 Driver Version: 470.103.01 CUDA Version: 11.4 ||-------------------------------+----------------------+----------------------+| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr、ECC || Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M、|| | | MIG M、||===============================+======================+======================|| 0 Tesla V100S-PCI..、 Off | 00000000:00:03.0 Off | 0 || N/A 31C P0 37W / 250W | 0MiB / 32510MiB | 4% Default || | | N/A |+-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+| Processes: || GPU GI CI PID Type Process name GPU Memory || ID ID Usage ||=============================================================================|| No running processes found |+-----------------------------------------------------------------------------+
安装CUDACUDA是NVIDIA平台的运算加速库,安装的方法很简单,先到官网上找到对应的版本,再按照说明安装即可。
先登录CUDA Archive的网站找到你想要下载的CUDA版本,此处我选择的是CUDA11.0。一般来说,此处选择的CUDA版本只要大版本与显卡驱动里面的CUDA Version的大版本相同即可,小版本不影响。
在页面内选择对应的系统配置之类的,选好后下载run版本的,官方给出了安装的脚本,两行就能安装完。
wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.runsudo sh cuda_11.0.3_450.51.06_linux.run
如果出现以下字样,则说明检测到之前系统里面装了驱动,非常正常,直接continue即可。
选择要安装哪些东西。因为驱动我们已经安装过,所以第一个不选,其他几个如果不需要就可以不选。
安装完毕后,还需要在.bashrc内把cuda的目录加入到PATH中,否则的话系统找不到CUDA。
export CUDA_HOME=/usr/local/cudaexport LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}export PATH=${CUDA_HOME}/bin:${PATH}
在命令行中source ~/.bashrc即可更新环境。
注意,在安装时,/usr/local/cuda-11.0是被软链接到了/usr/local/cuda,因此以后如果安装了多个版本的cuda,只需要把对应版本的cuda软链接到/usr/local/cuda即可更换cuda环境。
在命令行内输入nvcc -V,如果能正常打印出nvcc的版本,即安装成功。
安装cuDNNcuDNN是一个神经网络加速库,也是必须要装的一个依赖,具体安装的方法就简单很多,在cuDNN Archive中选择对应的版本下载即可。注意,此处的cuDNN的版本必须跟CUDA版本对应,包括小版本。此处因为我们的CUDA是11.0版本的,因此就按如图方式选择。
下载完毕后,用tar工具解压,并且将解压出的cuda目录下的inlcude内的头文件以及lib内的链接库全部复制到/usr/local/cuda的对应文件夹下:
sudo cp cuda/lib64/* /usr/local/cuda-11.0/lib64/ sudo cp cuda/include/* /usr/local/cuda-11.0/include/
cuDNN安装成功。
至此,NVIDIA的相关环境已经完全配置成功,接下来需要配置的是Python的相关环境。
配置Python环境 安装Anaconda对于Python而言,经常会出现版本的冲突,管理起来非常烦人,因此我们可以使用Anaconda之类的工具,通过创建相互之间隔离的虚拟环境来管理不同的Python环境。
安装Anaconda推荐用清华源的Anaconda仓库去安装,选择对应的Linux版本下载即可。在此处我下载的是5.3.1版本的。
在终端中执行以下命令进行安装:
chmod +x ./Anaconda3-5.3.1-Linux-x86_64.sh./Anaconda3-5.3.1-Linux-x86_64.sh
按照步骤安装即可,安装完毕后可以在命令行内查看是否可以使用conda命令,成功即为安装过成功。
配置PyTorch环境此处演示下如何创建一个干净的虚拟环境并安装PyTorch。
首先创建一个虚拟环境,并指定Python版本为3.7:
conda create -n pt python=3.7
创建完毕后,在PyTorch的官网选择相应的版本进行安装:
复制Run this Command内的命令,即可安装。如果说找不到cudatoolkit之类的库,或者是处理不了冲突,则在命令后面再多加一个-c conda-forge,让conda去搜索conda-forge内的库。
安装后,可直接在命令行内的python交互界面内试试torch.cuda.is_available()是否能够返回True,如果能,则配置成功。