平台链接
https://ac.sugon.com/ac/home/index.html
控制台界面
创建个人工作目录及上传文件。点击概览页面顶端的 E-Shell 菜单栏,进入所连主机的 Shell 终端。在用户目录下新建个人工作目录,如:mkdir ywj2
安装MiniConda(推荐)
参考链接:https://ac.sugon.com/doc/1.0.6/11250/general-handbook/software-tutorial/DeepLearning-1.html
使用wget下载(下载时间可能有点久)
wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.9.2-Linux-x86_64.sh -i https://pypi.tuna.tsinghua.edu.cn/simple/
添加权限并运行
chmod +x Miniconda3-py37_4.9.2-Linux-x86_64.shmkdir -p ~/miniconda3/bash Miniconda3-py37_4.9.2-Linux-x86_64.sh -b -f -p "~/miniconda3/"rm -rf Miniconda3-py37_4.9.2-Linux-x86_64.sh
初始化 conda 环境
~/miniconda3/bin/conda initsource ~/.bashrc
先换个清华源(加速)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/conda config --set show_channel_urls yes
conda创建python3.7环境
conda create -n yolov5 python=3.7
激活环境
conda activate yolov5
本地安装PyTorch1.7(重点)
由于曙光云使用的是国产GPU(即DCU),硬件是基于ROCm的,因此不能适配PyTorch官网下载的包(无法调用DCU),因此只能使用曙光云平台提供的编译好的PyTorch包进行安装。切忌不能使用pip install torch==1.7.0 torchvision
的命令直接安装,而应该选择曙光云本地提供的包进行安装。参考此链接:https://ac.sugon.com/doc/1.0.6/11276/general-handbook/compile/pytorch110.html
本地whl所在目录
/public/software/apps/DeepLearning/whl/dtk-21.04
进入whl所在目录看看
cd /public/software/apps/DeepLearning/whl/dtk-21.04
以安装PyTorch1.8为例(torch1.8和torchvision0.9适配)
# 安装torchpip install /public/software/apps/DeepLearning/whl/dtk-21.04/torch-1.8.0a0+56b43f4-cp37-cp37m-linux_x86_64.whl# 安装torchvisionpip install /public/software/apps/DeepLearning/whl/dtk-21.04/torchvision-0.9.0a0-cp37-cp37m-linux_x86_64.whl
根据项目的需求安装其他依赖(记得激活自己的环境再安装)。提示:除了与GPU有关的包(比如torch和torchvision等),其他包我们都可以从网上直接下载,即可以使用pip install numpy
这类命令直接从网上下载,无需曙光云本地提供。
# 安装自己想要的包pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simplepip install Pillowpip install scipy
开始使用
查看所在队列
whichpartition
申请并登录计算节点,进行测试
# salloc -p 队列名 -N 1 --gres=dcu:申请DCU的数量salloc -p wzhdtest -N 1 --gres=dcu:2
登录计算节点
# ssh 节点ssh b01r4n05
切换rocm编译器版本(加载dtk21.04),跟后续使用GPU的关系很大!
module switch compiler/dtk/21.04
在本地创建一个pytorch_env.sh的文件,添加环境变量!
vi ~/pytorch_env.shexportLD_LIBRARY_PATH=/public/software/apps/DeepLearning/PyTorch_Lib/lib:/public/software/apps/DeepLearning/PyTorch_Lib/lmdb-0.9.24-build/lib:/public/software/apps/DeepLearning/PyTorch_Lib/opencv-2.4.13.6-build/lib:/public/software/apps/DeepLearning/PyTorch_Lib/openblas-0.3.7-build/lib:$LD_LIBRARY_PATH# 记得以后每次登录新的节点时,一定要执行一次source ~/pytorch_env.sh命令,这关系到服务器能不能找到PyTorchsource ~/pytorch_env.sh
激活conda环境(登录到计算节点后会退出之前的环境,所以需要重新激活环境)
conda activate yolov5
进入环境,查看DCU能不能用,依次执行以下命令
pythonimport torchtorch.cuda.is_available()torch.__version__
进入项目文件即可开始训练
cd ~/ywj/yolov5-colabpython train.py --data data/citrus.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt --epochs 150 --batch-size 4
查看DCU状态的命令
hy-smi
【注意】srun和salloc方式使用时需要保持E-Shell页面常开启,否则此终端对应的作业将出现结束。
补充
显卡相关
使用的显卡:海光 DCU (Deep Computing Unit)
- 7nm 工艺,2.5D Interposer SoC 封装
- TDP 300W
- FP64 6.6 TF,FP32 13.1 TF,FP16 26.2 TF
- 16GB HBM2(可支持32GB),带宽 1TB/s
- PCIe 3.0 x16,支持升级到 PCIe Gen4
- 支持 GPUDirect RDMA
- 支持 OpenCL,兼容 CUDA 主流异构编程标准
- 提供 BLAS, FFT, Sparse, Convolutions, Tensor, Softmax, LRN, BN, Activation, Pooling 等库函数
- 已支持 TensorFlow, Caffe, Caffe2, Keras, …
- 比2080TI快一些, 跑训练不如3080。
- 硬件是基于ROCm的
批作业提交(除了使用salloc的另一种提交作业的方式)
提示:除了使用salloc的另一种提交作业的方式,这种方式关了网页程序也能在后台跑
参考链接:https://ac.sugon.com/doc/1.0.6/11276/general-handbook/scheduler/sbatch.html
创建yolo.sh作业文件
#!/bin/bash#SBATCH -o yolo.out#SBATCH --partition=wzhdtest#SBATCH --qos=low#SBATCH -J myFirstGPUJob#SBATCH --nodes=1 #SBATCH --ntasks-per-node=6#SBATCH --gres=dcu:1 module switch compiler/dtk/21.04source ~/pytorch_env.shsource ~/miniconda3/etc/profile.d/conda.shconda activate yolov5cd ~/ywj/yolov5-colabpython train.py --data data/citrus.yaml --cfg models/yolov5s.yaml --weights weights/yolov5s.pt --epochs 10 --batch-size 8
提交yolo.sh作业文件
sbatch yolo.sh
conda命令相关
//换源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/conda config --set show_channel_urls yes//恢复原来的源conda config --remove-key channels//新建conda环境conda create --name maskrcnn_benchmark python=3.7//查看环境conda info --env//清理conda缓存conda clean -pconda clean -t//删除环境conda remove --name new_env_name --all//复制环境,这个命令特别有用,假如一个环境有相应版本的PyTorch,那么就可以直接复制环境,再额外安装自己想要的包conda create --name new_env_name --clone old_env_name //导出环境conda env export > environment.yml//导入环境conda env create -f environment.yml//激活环境conda activate maskrcnn_benchmark
最后感谢小伙伴们的学习噢~
来源地址:https://blog.csdn.net/weixin_43800577/article/details/127918593