服务器新用户深度学习环境配置说明

本教程仅说明相关的软件(conda、cuda等)安装配置流程,对于如conda等软件的使用本文不作说明。

快速开始

本节主要包括两部分,python开发环境的配置,和cuda与cudnn的配置(在大多数情况下不配置cudnn是不影响pytorch使用的,但在一些特殊的开发需求下,是需要安装cudnn的,因此本文默认配置cudnn)

需要注意的是部分需要使用wget命令的过程,由于服务器无法连接公网而会出现超时错误,解决方案可以在本地下载好后上传到服务器或者在服务器上使用自己的校园网账户登录以使服务器可以访问公网

1. 配置python环境

在服务器上使用python与在个人电脑上不同,我们不主张使用/usr/bin/python下的python解释器,因为它不是用户可配置的,每个服务器用户在开发不同项目时时所使用的配置均不相同,因此我们需要在使用python之前创建自己的python虚拟环境。

我们主张使用anaconda来自定义python开发所使用的虚拟环境。使用如下命令来下载适用于本服务器的anaconda安装包:

1
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh

使用下述命令来安装anaconda安装包,安装过程全部选择默认配置就好(我们不建议修改ananconda的默认安装路径),同时注意请在安装最后阶段询问是否添加环境变量时选择yes

1
bash Anaconda3-2022.05-Linux-x86_64.sh

安装完毕后我们使用如下命令初始化anaconda

1
conda init

如果系统提示未找到conda命令,则说明环境变量没有添加成功,我们需要vim ~/.bashrc来手动添加环境变量。在文件的末尾追加如下内容,并保存退出(请将<>内替换为合适内容):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('<anaconda 安装目录绝对路径>/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "<anaconda 安装目录绝对路径>/etc/profile.d/conda.sh" ]; then
. "<anaconda 安装目录绝对路径>/etc/profile.d/conda.sh"
else
export PATH="<anaconda 安装目录绝对路径>/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<

之后刷新:

1
source ~/.bashrc

再次初始化conda,如果初始化成功则conda安装成功。
对于如何使用安装好的conda创建python开发虚拟环境,以及安装pytorch等深度学习框架请自行百度,

2. CUDA 及 cudnn 环境配置

服务器已经安装了cuda驱动,以及主流的cuda工具包与cudnn,因此请不要跟随一些博客的描述再次安装cuda工具包和cudnn。以cuda 11.3为例,直接在~/.bashrc内追加如下内容即可,并注意在保存退出后执行source ~/.bashrc刷新:

1
2
export PATH=/usr/local/cuda-11.3/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.3/lib64/

其余可用的cuda工具包版本可以使用如下命令查看

1
ls /usr/local

需要注意的是所配置的cuda版本请尽量与pytorch所支持的cuda版本一直,虽然一些情况下使用不一致的版本pytorch仍然可以正常使用cuda,但这并不是鲁棒的,如果担心pytorch是否能够正常使用cuda,可以在python中使用如下代码查看输出结果

1
2
import torch
torch.cuda.is_available()

可选配置

1. 设置自动执行source ~/.bashrc,

在默认情况下,每次连接服务器都需要执行source ~/.bashrc来初始化环境,我们可以执行以下操作来让这部分操作自动完成:

  • 首先:
    1
    vim ~/.bash_profile
  • 添加如下内容保存退出:
    1
    2
    3
    if [ -f ~/.bashrc ]; then
    . ~/.bashrc
    fi
  • 最后刷新:
    1
    source ~/.bashrc

2. 配置zsh

服务器默认使用bash shell,但同时安装了zsh shell,目前zsh是公认的更加方便易用的shell,如果有需求的同学可以执行如下命令完成配置:

1
sh -c "$(curl -fsSL https://gitee.com/shmhlsy/oh-my-zsh-install.sh/raw/master/install.sh)"

同时注意将~/.bashrc中conda和cuda的环境变量迁移到~/.zshrc中并刷新source ~/.zshrc