技术笔记|深度学习远程服务器配置

深度学习远程服务器配置 ??在深度学习的科研任务中,很多模型的运行都会用到 GPU 和显存,如果个人计算机的配置有限,我们通常会在单位提供的算力更高、性能更好的服务器上跑大型的模型代码。当然,在正式使用服务器之前,需要向服务器的管理员申请个人账号,然后在自己的工作目录下进行深度学习的环境配置。
1. 服务器安装 Anaconda
??我们配置深度学习的 Python 环境时,一般会用到 Anaconda 包管理工具(里面自带 Python 和很多模块),可以在清华的镜像网站 https://repo.anaconda.com/archive/index.html 上下载对应版本的 Anaconda 进行安装。
技术笔记|深度学习远程服务器配置
文章图片

由于服务器大多都是 Linux 操作系统,所以这里选择安装的是 2020.11 发布的 Anaconda3-2020.11-Linux-x86_64.sh,然后再将软件包通过软件传输工具(推荐Xftp5)发送到服务器的个人目录下。
技术笔记|深度学习远程服务器配置
文章图片

在终端命令下输入安装指令:bash Anaconda3-2020.11-Linux-x86_64.sh
当然也可以直接通过 bash 指令完成下载和安装:

  • 下载:wget https://repo.continuum.io/archive/+下载的Anaconda版本
  • 安装:bash 下载的Anaconda版本
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh bash Anaconda3-2020.11-Linux-x86_64.sh

配置PATH环境变量:在终端输入命令 vi .bashrc 进行环境配置
技术笔记|深度学习远程服务器配置
文章图片

在文件末尾添加:export PATH=/home/trainingl/anaconda3/bin:$PATH,注意这里 /home/trainingl/anaconda3/bin 是我的实际安装路径。
测试环境,查看版本:服务器上 Anaconda 安装完成之后,可以在终端中输入 python,查看当前版本
技术笔记|深度学习远程服务器配置
文章图片

2. 配置清华镜像源
??在使用服务器环境下的 Linux 操作系统时,难免会下载很多本地没有的包,而 Linux 使用的下载源服务器在国外,下载速度相对国内会慢很多,日常使用的阿里云和腾讯云等国内服务器厂商,镜像源都默认为自己相关的镜像源,所以在使用时下载应用的速度很快。这里我选择了清华镜像源进行配置。
添加清华镜像包管理【顺序执行】:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

查看已添加的源:conda config --show-sources
技术笔记|深度学习远程服务器配置
文章图片

3. 创建和管理虚拟环境
首先我们要搞清楚为什么要创建虚拟环境?虚拟环境又是一个什么概念?
【技术笔记|深度学习远程服务器配置】??从实际的科研背景下,我们可能会面临很多不同的任务,而这些任务对 Python 的环境要求不一致,并且可能某些包或库在版本上会起冲突,比如做深度学习任务有时会用到 PyTorch,而有时会用到 TensorFlow,我们希望这两个库能在两个独立的 Python 环境下运行该多好啊!所以 Anaconda 推出虚拟环境的包管理工具,我们可以通过 conda 命令在 env 目录下创建不同的虚拟环境,这些虚拟环境下可以分别安装适应不同任务的 Python 包或模块,这些环境可以随意切换使用,而且不会产生冲突。
1、查看当前系统所有的conda环境:conda env list
技术笔记|深度学习远程服务器配置
文章图片

从结果中可以看到有两个虚拟环境,其中的 base 是一个基础环境,是安装 Anaconda 自动生成的一个基本环境,而另一个名称为 train 的则是我创建的一个虚拟环境。
2、创建虚拟环境:conda create -n envName python=3.7
技术笔记|深度学习远程服务器配置
文章图片

说明:在安装虚拟环境时会附带的安装一些基础的库文件.
3、激活虚拟环境:source activate envName
技术笔记|深度学习远程服务器配置
文章图片

4、退出虚拟环境:source activate
技术笔记|深度学习远程服务器配置
文章图片

注意:退出虚拟环境时不要加名称参数,直接 source activate.
5、删除虚拟环境:conda remove -n your_env_name(虚拟环境名称) --all
6、删除虚拟环境下不需要的包:conda remove --name your_env_name package_name
7、进入已有的虚拟环境,查看安装了那些包:conda list
技术笔记|深度学习远程服务器配置
文章图片

4. 安装 PyTorch 深度学习框架
??在安装 PyTorch 深度学习框架时,首先需要知道当前服务器的 CUDA 版本。当然在服务器的 CPU 环境下是无法找到的,所以需要用户切换到 GPU 环境下,一般学校的服务器会有多张显卡,但需要根据显卡的使用权进入对应的 gpu 环境,输入指令 nvcc -V 查看当前 CUDA 版本。
技术笔记|深度学习远程服务器配置
文章图片

可以看到当前 CUDA 版本是 9.0,考虑到后面会安装PyG,所以这里我安装的是 PyTorch1.7.1 和 CUDA 10.1的。根据该版本在 PyTorch官网 上寻找对应的安装命令:
技术笔记|深度学习远程服务器配置
文章图片

注意:安装对应的版本的 PyTorch 时,一定要切换到对应的虚拟环境下。另外有的学校服务器只能在 cpu 环境下才能联网,而 gpu 环境处于无网环境即仅用于计算,所以在 gpu 环境通过 nvcc -V 查看 CUDA 版本后,及时切换到 cpu 环境下。
技术笔记|深度学习远程服务器配置
文章图片

需要经过比较长的等待时间,然后测试是否安装成功。将 cpu 切换到 gpu 环境下,进入 gpu 环境一定要进入安装 torch 的虚拟环境下进行测试。
import torch print(torch.cuda.is_available())

技术笔记|深度学习远程服务器配置
文章图片

可以发现 pytorch 1.7 安装成功并且 CUDA 能正常使用。

    推荐阅读