仅供初次使用借鉴

目录

一、申请账号

二、下载软件

1.PuTTY

2.FileZilla

三、连接超算

1.使用PuTTY连接

2.使用FileZilla进入文件传输

四、配置环境

1.安装miniconda

2.创建适用于yolov5的虚拟环境

3.提交训练

五、超算相关命令

1.Slurm作业系统

2.相关指令

六、常见问题


一、申请账号

进入官网申请武大超算,两三个工作日后学生邮箱会收到hpc邮箱,内含:

  • 用户名            seawithstars
  • 初始密码         xxxxxxxx
  • 登录地址         202.114.96.180

二、下载软件

1.PuTTY

下载地址:PuTTY   连接超算!

2.FileZilla

下载地址: FileZilla   传输文件!


三、连接超算

1.使用PuTTY连接

如图:

  1. 填入登录地址
  2. 输入Sessions名称
  3. Save Sessions     ( 这样下次就不用再次输入登录地址,直接点击新建的Session)
  4. 点击刚才的Session
  5. Open

6.输入用户名以及初始密码后,即可进入超算中自己的账户,出现以下内容

此时我们可以更改初始密码,需要至少一个小写字母一个大写字母。输入:

passwd

会出现修改密码,按照提示修改即可。

[seawithstars@swarm02 ~]$ passwd
Changing password for user seawithstars.
Changing password for seawithstars.
(current) UNIX password:

其中 seawithstars就是用户名,swarm02就是登录节点,登录节点不允许长时间计算占用资源


2.使用FileZilla进入文件传输

如图:

现在我们来认识一下武大超算给我们的存储空间:

/home/seawithstars/

  • 文件容量限额 1GB
  • 文件数量限额 10000
  • 目录下的文件长期保存
  • 建议仅用来保存用户的环境变量等设置信息

/project/seawithstars/     其实该地址也可以   /home/seawithstars/project/

  • 文件容量限额 500GB
  • 文件数量限额 500000
  • 目录下的文件长期保存
  • 主要的计算程序和数据存储空间

四、配置环境

1.安装miniconda

这里我们参考官方指导:

Conda 在安装(升级)软件包或者使用虚拟环境的时候,需要用到 ~/.conda 和 ~/.cache 目录,因为武大超算 ~/ 目录的容量限制,将这两个目录移动到 ~/project 下面有助于消除因容量限制引起的问题

首先创建文件:

mkdir ~/project/conda_user
ln -s ~/project/conda_user ~/.condamkdir ~/project/conda_cache
ln -s ~/project/conda_cache ~/.cache

然后移动文件指向:

mv ~/.conda ~/project/conda_user
ln -s ~/project/conda_user ~/.condamv ~/.cache ~/project/conda_cache
ln -s ~/project/conda_cache ~/.cache

下载miniconda

下载后使用FileZilla传输到/project/liuyuhao/  使用PuTTY执行一下命令:

cd project
ls

进入project文件夹并列出所含文件(夹),命令行下会出现:

conda_cache  conda_user  Miniconda3-latest-Linux-x86_64.sh

安装sh文件:

sh Miniconda3-latest-Linux-x86_64.sh

1.会出现一些协议确定,一直点 enter

2.输入  yes 同意协议

3.选择存储位置,将home 改为 project,然后执行安装并等待

4.安装程序会询问是否在 ~/.bashrc 中加入环境变量控制,选择是,用户每次登录后就可以直接使用这次安装的 miniconda3base环境中

5.结束安装,出现:

Thank you for installing Miniconda3!

6.验证conda指令,会列出当前的环境

conda env list

7.为conda换源,在控制台输入

vim ~/.condarc

vim是一个编辑器         ~/即/home/liuyuhao/         .condarc是文件名

进入vim之后 点击输入小写 i 复制一下channels然后在控制台点击右键(粘贴)

channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/MindSpore- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/auto- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/biobakery- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/c4aarch64- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/caffe2- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/deepmodeling- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/dglteam- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fermi- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/idaholab- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/intel- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/matsci- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/mordred-descriptor- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/numba- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/ohmeta- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/omnia- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/plotly- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/psi4- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch-lts- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch-test- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch3d- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pyviz- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/qiime2- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/rapidsai- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/rdkit- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/simpleitk- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/stackless- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/ursky- defaults
show_channel_urls: true

输入完成后点击 Esc ,随后输入(保存并退出)

:wq

同理给pip换源

mkdir ~/.pip # 配置文件位置在 ~/.pip/pip.conf(如果不存在创建该目录和文件)
vim ~/.pip/pip.conf  # 打开配置文件,修改如下:

插入

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

保存并退出即可。

2.创建适用于yolov5的虚拟环境

1.导入yolov5项目(访问github可能需要魔法),项目地址,下载后传输到 /project/liuyuhao/

2.进入yolov5-master文件夹并创建虚拟环境yolo38

cd yolov5-master
conda create -n yolo38 python=3.8

3.输入y确定创建并下载依赖包

4.进入虚拟环境

conda activate yolo38

5.安装依赖库文件

如果是使用cpu训练那么可以不用介意使用什么版本的torch,直接pip

如果使用GPU则要查询超算cuda版本对应的torch以及torchvision

为避免安装torch出现问题,先手动安装torch,torchvision

pip install torch==1.7.0
pip install torchvision==0.8.1

然后再根据requirements安装:

pip install -r requirements.txt

最后再跑一遍确认所有库安装完成

pip install -r requirements.txt

6.下载字体文件,yolov5需要字体,下载过程比较慢,在电脑上下载(需要魔法)后移动到超算上

下载路径

移动到

/home/seawithstars/.config/Ultralytics/

7.在登录节点试运行

conda activate yolo38
python train.py

出现训练过程即可 ctrl+C终止运行


3.提交训练

使用srun或者sbatch更换节点计算

参见下一章节

五、超算相关命令

注:学生只能使用hpxg分区        最大使用16个cpu核        最多占用两个节点

1.Slurm作业系统

①使用sbatch提交

  • 第一行是脚本语言解释器的路径,一般选择 bash 作为解释器
  • 若干行由 #SBATCH 引导的 Slurm 设置选项
  • 计算程序运行需要设置的环境变量
  • 运行程序的命令
vim yolo.sbatch

插入:

#!/bin/bash#SBATCH --partition=hpxg     #申请分区 `hpxg` 的计算资源
#SBATCH --cpus-per-task=15
#SBATCH --ntasks=1conda init
source ~/.bashrccd $SLURM_SUBMIT_DIR
conda activate yolo38
python train.py

添加权限:

chmod +x yolo.sbatch

交互式提交任务

使用srun不会读取#SBATCH 需要指定,like

srun -c 15 yolo.sbatch

非交互式提交任务

sbatch yolo.sbatch

#SBATCH 指令 ,红色为srun指令

#SBATCH --account=supervisor   #付费账号关联,用户使用收费分区时,需要关联付费账号,supervisor是导师账户名

#SBATCH --cpus-per-task==16    #每个任务使用16个cpu核    -c

#SBATCH --gres=gpu:2                #使用2块gpu,小于等于每个节点GPU数量4

#SBATCH --nodes=1                    #使用1个节点

#SBATCH --ntasks-per-node=1    #每个节点有一个任务

#SBATCH --partition=hpxg           #使用hpxg分区

2.相关指令

①运行以下命令查看计算节点的状态信息

sinfo

其中 STATE 常见的有

  • alloc,节点已经被分配给作业任务
  • down,节点当前不可用
  • drain,节点被管理员设置为退出服务
  • idle,节点当前空闲
  • mix,节点有部分计算资源已被分配,还有部分资源空闲可用

②作业运行状态

squeue

squeue 显示的信息包括以下内容

  • JobID,作业编号

  • PARTITION,作业在哪个分区上运行

  • NAME,作业名称,默认是作业脚本的名字

  • USER,作业的所有者

  • ST,作业当前状态,详见 Job State Codes,常见的有

    • CG 作业正在完成
    • F 作业失败
    • PD 作业正在等待分配资源
    • R 作业正在运行
  • TIME,作业已运行时间

  • NODES,作业占用的计算节点数

  • NODELIST,作业占用的计算节点名

  • (REASON),作业正在等待执行的原因,详见 Job Reason Codes,常见的有

    • AssoGrpCpuLimit 导师名下所有学生正在使用的CPU总数达到了导师开通的CPU数量限额
    • AssoGrpGRES 导师名下所有学生正在使用的GPU总数达到了导师开通的GPU数量限额
    • Priority 作业正在排队等待
    • QOSMinGRES 提交到GPU分区的作业没有申请GPU资源

③进入运行节点查看资源占用

ssh 计算节点名
  • 在计算节点上,使用 top 命令可以查看程序使用 CPU 的状况
  • 如果是 GPU 程序,在计算节点上使用 nvidia-smi 命令可以查看程序使用 GPU 的状况
  • 用户有程序正在运行的计算节点才允许登录

④取消作业

如果用户要取消作业,先运行 squeue 命令查询作业编号数字 JobID ,然后运行以下命令取消作业

scancel JobID

如果要取消用户的所有作业

scancel -u 用户名

六、常见问题

问题1:        -bash: conda: command not found

vim ~/.bashrc

最后一行加入:

export PATH=$PATH:/project/liuyuhao/miniconda3/bin

source ~/.bashrc

#更新配置文件

问题2:       删除了 .bashrc 或者 .bash_profile

cp /etc/skel/.bash* ~/

问题3:        提示        ): No such file or directory bad interpreter(/bin/bash

删除yolo.sbatch 重新创建yolo.sbatch,重新提交任务

rm yolo.sbatch
vim yolo.sbatch

参考网址:

1.武汉大学超算中心

武汉大学超算入门介绍相关推荐

  1. .NET读写Excel工具Spire.Xls使用(1)入门介绍

    原文:[原创].NET读写Excel工具Spire.Xls使用(1)入门介绍 在.NET平台,操作Excel文件是一个非常常用的需求,目前比较常规的方法有以下几种: 1.Office Com组件的方式 ...

  2. 独家 | 集成学习入门介绍

    作者:Jason Brownlee 翻译:wwl 校对:王琦 本文约3300字,建议阅读8分钟. 本文介绍了我们在生活中的许多决定包括了其他人的意见,由于群体的智慧,有的时候群体的决策优于个体.在机器 ...

  3. SpringBoot 2.0 系列001 -- 入门介绍以及相关概念

    为什么80%的码农都做不了架构师?>>>    SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://proje ...

  4. ECC加密算法入门介绍

    作者  : ZMWorm[CCG]   E-Mail: zmworm@sohu.com   主页  : Http://ZMWorm.Yeah.Net/ 前言 同RSA(Ron Rivest,Adi S ...

  5. [翻译][1.4.2]Flask-Admin入门介绍

    为什么80%的码农都做不了架构师?>>>    #Flask-Admin入门介绍 ##让我们荡起双桨 初始化 Introduction To Flask-Admin Getting ...

  6. 谷歌大脑科学家亲解 LSTM:一个关于“遗忘”与“记忆”的故事 本文作者:奕欣 2017-01-14 09:46 导语:AI科技评论保证这是相对通俗易懂的一篇入门介绍了,看不懂的话欢迎关注「AI 科技

    谷歌大脑科学家亲解 LSTM:一个关于"遗忘"与"记忆"的故事 本文作者:奕欣 2017-01-14 09:46 导语:AI科技评论保证这是相对通俗易懂的一篇入 ...

  7. Tomcat容器入门介绍

    Tomcat容器入门介绍 Tomcat环境配置 PS:JDK的安装这里就不讲了,找到安装包直接下一步下一步就行了. 1.配置JDK 在Windows10下,找到环境变量 在环境变量中添加JDK主目录 ...

  8. QWT中Qdial的入门介绍

    最近使用了一下QWT.因为是第一次使用,所以有一些需要注意的地方,特记录在此,以供后来者参考. 1,QWT的安装与配置环境 有关QWT的安装与配置,网络上已经有很多篇文章,这里就不再重复了.介绍一下自 ...

  9. Spring入门介绍:

    Spring入门介绍 Spring诞生: 创建Spring的目的就是用来替代更加重量级的的企业级Java技术 简化Java的开发 基于POJO轻量级和最小侵入式开发 通过依赖注入和面向接口实现松耦合 ...

最新文章

  1. 经典!工业界深度推荐系统与CTR预估必读的论文汇总
  2. Node.js EventEmitter
  3. 离线地图解决方案(二):地图基本控制
  4. cumprod--累积连乘
  5. C语言易错题集 第三部
  6. LiveVideoStack冬季招聘(高级策划编辑,市场BD主管)
  7. 团队项目—第二阶段第三天
  8. java释放对象_在Java中释放Semaphore对象的正确方法是什么...
  9. 常用的Oracle命令整理
  10. Tomcat的安装及配置。
  11. mybatis的mysql参数传递_Mybatis参数传递及返回类型
  12. NETTY keeplive 参数,心跳检测
  13. CentOS7或7以上,无iptable解决方法
  14. GitHub上的那些LGTM和WIP代表什么
  15. 电容的作用?电容器的作用?
  16. Unity开发VR项目(四)—— 创建VR场景
  17. Android项目:基于安卓Android校园零食配送系统app(计算机毕业设计)
  18. 认识计算机微课导学单,微课“任务单”与“导学案”之比较
  19. alpha测试和beta测试的区别 .
  20. 协变量偏移_恶意软件分类的协变量偏移

热门文章

  1. 比尔盖茨离婚,平分8000亿! 用5张图看看微软的发展史
  2. plantuml 依赖_PlantUML入门
  3. 2011年国家质监局公布女生禁用以下化妆品系列,女生一定要...
  4. multiple definition of `yylloc‘
  5. python一键将所在文件夹下的所有jpg转为ico图标
  6. python制作连点器_python群聊工具实现(上)
  7. Win10查看回收站清空超过1万个文件,占用资源高造成系统卡死,删除失败
  8. DSP28035的CAN通讯程序
  9. 不同型号的二极管模块并联_2.5 变频器的并联
  10. 软件工程个人作业-软件案例分析