PyTorch

应用介绍

PyTorch是一个开源的Python机器学习库,基于Torch。PyTorch提供两个高级功能:

1、具有强大的GPU加速的张量计算(如NumPy)。

2、包含自动求导系统的的深度神经网络。

使用指南

在公共集群中选择GPU集群后,点击控制台,进入终端。

Conda环境变量配置

GPU集群已安装Anaconda,需要在自己的根目录下通过编辑``.bashrc``文件来配置Anaconda的路径。

.bashrc用于存储并加载个人的终端配置和环境变量。bash在每次启动时都会加载/ .bashrc文件的内容。

~/.bashrc文件中添加:export PATH=/opt/app/anaconda3/bin:$PATH:

$ echo 'export PATH=/opt/app/anaconda3/bin:$PATH' >> ~/.bashrc

然后运行source命令使配置的环境变量生效:

$ source ~/.bashrc

安装PyTorch

在命令行输入:

$ conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

等安装结束后即可使用PyTorch。

关于Conda的使用,可参考Conda指南

使用Slurm提交任务

平台使用Slurm作业管理系统来进行作业调度。因此,要使用平台计算节点,就需要使用slurm提交需要运行的程序。以下是使用sbatch脚本方式提交的样例test.sh

1#!/bin/csh
2#SBATCH --nodes=1
3#SBATCH --ntasks-per-node=1
4#SBATCH --time=4:00:00
5python pytorch_test.py

sbatch用于配置作业参数,--nodes为使用的节点数,--ntasks-per-node为每个节点所运行的任务数。其他详细的参数配置参考该文档

然后在终端执行sbatch test.sh,slurm提交作业后,会将日志输出到用户根目录下,文件名为slurm-作业编号.out

如果需要多个节点提供计算,需要在代码中加入多机多卡的API。

1trainer = Trainer(gpus=8, num_nodes=4, distributed_backend='ddp')

详细信息参考官方API文档:

https://pytorch-lightning.readthedocs.io/en/latest/slurm.html?highlight=slurm