https://ac.sugon.com/ac/home/index.html
控制台界面
创建个人工作目录及上传文件。点击概览页面顶端的 E-Shell 菜单栏,进入所连主机的 Shell 终端。在用户目录下新建个人工作目录,如:mkdir ywj2
参考链接:https://ac.sugon.com/doc/1.0.6/11250/general-handbook/software-tutorial/DeepLearning-1.html#1-miniconda%E5%AE%89%E8%A3%85
使用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.sh
mkdir -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 init
source ~/.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
由于曙光云使用的是国产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适配)
# 安装torch
pip install /public/software/apps/DeepLearning/whl/dtk-21.04/torch-1.8.0a0+56b43f4-cp37-cp37m-linux_x86_64.whl
# 安装torchvision
pip 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/simple
pip install Pillow
pip 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.sh
export
LD_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命令,这关系到服务器能不能找到PyTorch
source ~/pytorch_env.sh
激活conda环境(登录到计算节点后会退出之前的环境,所以需要重新激活环境)
conda activate yolov5
进入环境,查看DCU能不能用,依次执行以下命令
python
import torch
torch.cuda.is_available()
torch.__version__
进入项目文件即可开始训练
cd ~/ywj/yolov5-colab
python 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)
提示:除了使用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.04
source ~/pytorch_env.sh
source ~/miniconda3/etc/profile.d/conda.sh
conda activate yolov5
cd ~/ywj/yolov5-colab
python 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 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 -p
conda 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
最后感谢小伙伴们的学习噢~