3. 配环境(PyTorch)

下文会基于 Conda 逐步安装 PyTorch。

首先要登录到服务器的计算节点,再配置环境。

只有计算节点提供 Conda。Conda环境通过存储节点共享到所有计算节点。

要更深入的了解服务器上的Conda配置细节,请咨询管理员。

3.1. 登录服务器

即登录到Aha/Aloha等登陆节点。此处以Aha为例。

用户可以通过Aha向其他计算节点提交计算任务来运行程序。

3.2. 通过Aha访问计算节点

输入命令:sit

它在 ~/.bash_aliases 定义,如果没有,替代命令是:srun --pty bash -i

如果你在Aloha,可以使用命令 cp -i /shine-cluster/login/etc/skel/.bash_aliases ~ 使用服务器提供的 .bash_aliases 。重新连接服务器以应用新的 .bash_aliases

注意到显示的 wanglu@aha 会变成 (base)wanglu@eureka ,或者 (base)wanglu@tatooine 等等

name@eureka 意味着你正在使用 eureka 服务器

name@tatooine 意味着你正在使用 tatooine 服务器

3.3. 创建名为 cola 的新环境

输入命令:conda create -n cola

会提示 Proceed ([y]/n)? ,请阅读安装计划,输入 y 同意以此计划创建新环境。

3.4. 激活新环境

输入命令:conda activate cola

3.5. 安装PyTorch

Conda 倾向于安装新版本。如果 PyTorch 没有对应最新版 CudaToolkit 的 Build,Conda 会自动安装 CPU 版 PyTorch 以使用新版本的 CudaToolkit。

因此先搜索目前 PyTorch 支持的 CudaToolkit 版本:conda search pytorch -c pytorch

输出如:

# Name   Version  Build  Channel
...
pytorch  1.11.0 py3.9_cuda11.3_cudnn8_0  pytorch
pytorch  1.11.0 py3.9_cuda11.5_cudnn8_0  pytorch
...
pytorch  1.11.0 py3.10_cuda11.3_cudnn8_0  pytorch
pytorch  1.11.0 py3.10_cuda11.5_cudnn8_0  pytorch
...

其中, Build 一列描述了其支持的 CudaToolkit 版本。 如最后一行的 Build 支持 Python3.10 和 CudaToolkit 11.5。

如果你需要安装其他版本,请对应修改下列命令给出的版本号。

根据这一信息, 输入命令:conda install python=3.10 pytorch torchvision cudatoolkit=11.5 -c conda-forge -c PyTorch

这个命令意味着从 conda-forge 安装包,请访问 conda-forge.org 确认你了解她是什么。

如果不想使用conda-forge,可以使用 conda install PyTorch cudatoolkit=11.3 -c PyTorch。 这里使用 11.3 是因为 Conda Channel 对 CudaToolkit 的更新比较慢,目前只支持到11.3。因此当你安装时,请确认目前提供的 CudaToolkit版本。

稍作等待,在提示 Proceed ([y]/n)? 时,请检查安装计划是否符合预期。如 Python 版本,PyTorch 的版本是否支持 CUDA 等。

确认无误后,输入 y 确认安装。

如果安装计划有问题,如Python的版本过高/低,可以手动设置版本号,如 conda install python=3.8 PyTorch ...

安装很快,但下载慢。服务器支持多用户共享Conda Cache,如果你安装的包有本地缓存,程序会自动跳过其下载过程。

如果没有缓存,安装PyTorch可能需要约二十分钟。

3.6. 验证安装

首先需要退出计算节点,回到aha:

输入命令:exit

警告:下一操作将会要求服务器提供一个GPU使用

输入命令:sit -g (如果提示没有此命令请输入srun --pty --gres=gpu:1 bash -i)

这一命令会要求slurm给你使用一个GPU,并在对应节点进入bash。

输入 hostname 可以查看你进入的节点。

输入 nvidia-smi 可以查看申请的GPU的状态。

输入 python 进入 Python 交互式模式,可以直接输入Python代码,回车立即执行

输入Python代码:import torch

继续输入:torch.cuda.device_count() 来查看PyTorch检测到的CUDA设备数量(即GPU数量)。

如果程序如图运行并输出1(因为上文只要求了一块GPU),说明已经成功安装了PyTorch环境,能用GPU加速计算。

退出python,请输入: exit() 或 快捷键 Ctrl + D。

3.7. 安装更多Python Package

如果一切顺利,您目前已经拥有了一个装有PyTorch的机器学习环境。

通常,我们还需要安装更多的包,以下步骤不是必须的,但可以安装额外的包。

首先,进入计算节点的交互 Bash ,输入命令:srun --pty bash -i

激活环境 cola,输入命令:conda activate cola

安装包matplotlib, 输入命令:conda install matplotlib

或者从 conda-forge channel 安装 matplotlib, 输入命令:conda install matplotlib -c conda-forge

会遇到提示 Proceed ([y]/n)?,在确认安装计划符合预期后,输入回车或y确认继续执行。

如需安装其他包,命令形如:conda install 包名

例如:

    conda install pillow
    conda install numpy
    ...