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