合肥工业大学Eaas平台深度学习使用记录

-1 写在最前

帮助文档

首先是账号,该平台需要在校园网环境下使用(webvpn目前无效),第一次登录平台时会提示需要申请权限,通过后才能进行后续操作。

A800架设在集群上 简单来说这是一台公共服务器 用脚本来执行任务 每个人分配一个文件夹作为个人的空间,用户通过远程到这个空间,配置环境调试代码;

我粗略的扫了一遍官方的帮助文档,集群使用这块应该是没举例说明怎么在自己申请的地方配置环境,因此写了本文作为记录

教程里一上来就教你点集群->提交作业 但这一步是在你脚本完全可用的基础下进行的
正常情况跑深度学习,conda环境都没配 只用这个脚本跑不起来;
这里以跑point transformer为例子 举例说明如何在集群上面跑深度学习代码

0 远程到集群实例

请添加图片描述

可以使用终端登录或者ssh登录(终端登录可以跳过下面这一步)
点击ssh端口信息会弹出ssh端口号
在这里插入图片描述

使用任意的ssh工具进行登录 。
ssh登录的账号是u+学号 如我的是u2022110xxx

默认的密码 需要在点击右上角 重置密码 来获得 否则会提示没有访问权限

在这里插入图片描述

进入控制台后用salloc命令创建一个节点
然后ssh 节点名

直接用salloc命令默认会给你一个cpu节点,用来调试环境

在这里插入图片描述

1 导入数据集和代码

网页导入:

在这里插入图片描述

在这里插入图片描述
导入导出数据都是在这里。
本地将代码和数据集打包 点击上传,拖进去(推荐打包成tar格式 我用zip格式 超过4g无法用服务器当前版本的uzip解压…)
这个方法只能走校园网 速度比较慢(以及导入的时候不要放进share文件夹 所有人都看得见这里面的东西)
其他导入方式参考官方教程

2 创建环境

进入后直接使用conda命令没有反应 原因是没有同步系统的环境变量

vim ~/.bashrc
编辑路径,在脚本末尾添加
export PATH=/opt/app/anaconda3/bin:$PATH
然后运行命令
source ~/.bashrc
使配置的环境变量生效。

source完后就能正常用conda了(视情况可能要进出一下控制台) 默认有一个pytorch1.12的环境和一个llm的环境
再用conda create xxx 去创建环境 下包

补充 自己建的conda环境默认不带cudnn(不带cudnn容易跑不起来 ptv1里pointops就依赖cudnn),推荐是克隆已有的conda环境(不推荐自己去安miniconda弄环境(泣))

conda create -n pointcept --clone pytorch-1.12.1-cuda11.3.1-py38

(不过带了cudnn编译的时候仍然会出错 参考 参考)

#conda create -n pointcept python=3.8 -y
conda activate pointcept
conda install ninja -y
# Choose version you want here: https://pytorch.org/get-started/previous-versions/
# conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch -y
conda install h5py pyyaml -c anaconda -y
conda install sharedarray tensorboard tensorboardx yapf addict einops scipy plyfile termcolor timm -c conda-forge -y
conda install pytorch-cluster pytorch-scatter pytorch-sparse -c pyg -y
pip install torch-geometric

# spconv (SparseUNet)
# refer https://github.com/traveller59/spconv
#pip install spconv-cu113

# PTv1 & PTv2 or precise eval
cd libs/pointops
# usual
python setup.py install
# docker & multi GPU arch
TORCH_CUDA_ARCH_LIST="ARCH LIST" python  setup.py install
# e.g. 7.5: RTX 3000; 8.0: a100 More available in: https://developer.nvidia.com/cuda-gpus
TORCH_CUDA_ARCH_LIST="7.5 8.0" python  setup.py install
cd ../..

# Open3D (visualization, optional)
pip install open3d

创建依赖环境 安装pointcept
安装完可以初步看一下脚本有没有调包报错的问题。

3 申请gpu资源

在这里插入图片描述
在集群→分区查看当前机器的资源使用情况,如gpu1机器只有两个cpu 假如gpu1机器有空闲的gpu,如果我们要申请使用gpu1机器 申请命令的-n就要调整到2

用以下命令申请gpu在线调试环境

[u2022110xxx@workstation ~]$ salloc -p gpu-a800 -N 1 -n 6 --gres=gpu:1 -t 2:00:00
salloc: Granted job allocation 240263
salloc: Waiting for resource configuration
salloc: Nodes gpu4 are ready for job
[u2022110xxx@workstation ~]$ ssh gpu4
Warning: Permanently added 'gpu4,192.168.0.98' (ECDSA) to the list of known hosts.
[u2022110xxx@gpu4 ~]$ ls
7d546382292307a41318706a72425252.250a9_bin  7d546382292307a41318706a72425252.fdb4_info  share  web-jobs
[u2022110xxx@gpu4 ~]$ nvidia-smi

进入后验证一下脚本能不能跑,如果能跑就退出环境,使用作业的方法跑网络。


(pointcept) [u2022110xxx@workstation Pointcept]$ export PYTHONPATH=./
(pointcept) [u2022110xxx@workstation Pointcept]$ python tools/train.py --config-file configs/s3dis/semseg-pt-v1-0-base.py --options save_path=exp/ptv1

在这里插入图片描述

4 提交作业

集群→提交作业
在这里插入图片描述
1 选择public_cluster 2 填写名称 3 再选一个作业模板 修改成以下内容

#!/bin/bash
#SBATCH --partition=gpu-a800
###指定使用gpu-a800队列
#SBATCH --nodes=1
###使用1个节点
#SBATCH --ntasks-per-node=5
###每个节点使用6个核心
#SBATCH --gres=gpu:1 
###声明需要的GPU数量【单节点最大申请8个GPU】

###以下程序为运行程序,替换为自己的程序
hostname
source ~/.bashrc
conda activate pointcept

cd ~/Pointcept
export PYTHONPATH=./
python tools/train.py --config-file configs/s3dis/semseg-pt-v2m1-0-base.py --options 
#根据实际修改一下batch size 一张A800不够跑默认的batchsize 12
save_path=exp/ptv2

点击提交作业

在这里插入图片描述
在这里插入图片描述

提交成功后 可以在集群→分区→已分配作业 里看到自己的提交 ,点击后可以看到对应的log

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值