栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

DKT学院服务器运行命令——公开

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

DKT学院服务器运行命令——公开

DKT学院服务器运行命令——全部

首先在自己的电脑上 下载安装Mobaxterm软件,具体步骤参考博客《MobaXterm下载与安装》https://blog.csdn.net/weixin_45523107/article/details/119150865。
安装完成后桌面多了一个Mobaxterm的快捷方式,如图1所示。

本文以Windows系统为例,进行集群的使用介绍。

Step1.双击打开Mobaxterm软件,依次点击左上角的 Session->SSH->Remote host输入集群IP地址10.8.51.15、Specify username输入申请账号(比如我的账号是:y192314)->点击OK即可。
登录系统后界面如图所示。
2.3 配置软件环境
2.3.1 安装 Conda
Step1. 下载 Miniconda,输入以下命令下载最新的 Miniconda 安装包

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
ll

下载过程以及下载完成后,如图 2-3-1 所示。
Step2. 安装 Miniconda,安装 Miniconda 到自定义的目录中,需要注意的是这个目录在安装前不能存在。输入以下命令进行安装:

sh Miniconda3-latest-Linux-x86_64.sh -b -p ${HOME}/tools/miniconda3

安装过程如图 2-3-2 所示:
安装完成后可以在自定义安装目录下看到新增的 miniconda3 目录,如图 2-3-3 所示

ll

Setp3.将 miniconda 的环境变量写入~/.bashrc 文件中,从而能够使用 activate,或者conda install 这些命令。执行以下命令:

echo "export PATH=${HOME}/tools/miniconda3/bin:$PATH" >> ~/.bashrc

Step4. 执行~/.bashrc 文件,或者重新登录,让我们添加的 miniconda 的环境变量生效。执行以下命令:

source ~/.bashrc

Step5. 我们可以输入以下命令来我们的 miniconda 是否安装成功。

conda -V

如果上面语句返回了我们安装的 conda 版本,那么就表示我们的 miniconda 安装成功了。
2.4 配置 python 虚拟环境
本节主要讲解如何使用 miniconda 配置自己的虚拟环境。
2.4.1 修改镜像源
因为墙的存在,所以有时候我们配置环境,下载相关的包的时候会很慢,甚至超时。所以我们可以修改 conda 的镜像源。我们以添加清华镜像源为例。
Step1. 输入以下命令添加清华镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
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/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
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/conda-forge
conda config --set show_channel_urls yes

添加完成后可以看到~/.condarc文中已经写入这些镜像源,如图 2-4-1 所示

cd /home/y192314/tools/miniconda3/#切换到自己的miniconda3目录
cat ~/.condarc

2.4.2 配置 conda 虚拟环境
(注:首先要明确自己代码需要的环境及版本号,我的DKT代码环境是pytorch1.2.0,CUDA10.0,python3.6.5)
此处笔者以自己的一份源码所需要的环境为例,配置一个 conda 的虚拟环境。
Step1. 创建一个名称为py365DKTPytorch的环境,使用的 python 版本为 3.6.5,如图所示。

conda create -n py365DKTPytorch python=3.6.5
conda env list#查看虚拟环境列表

删除下面图
Step2. 安装 pytorch1.2.0。我们上 pytorch 的官网https://pytorch.org/找到安装对应版本的pytorch 的命令行,然后将其复制到我们的命令行中进行安装。如图 2-4-3 所示。
此处特别提醒,以安装 pytorch1.2.0 为例,笔者在官网找到的命令是conda install pytorch1.2.0 torchvision0.4.0 cudatoolkit=10.0 -c pytorch
我们需要把该命令最后的-c pytorch 删除,因为这个参数指定了安装 pytorch
的源是 pytorch 的官网,会很慢。删掉后,会从我们设置的清华镜像下载 pytorch会快很多。

conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0
source activate py365DKTPytorch#注意激活用source,不是conda
conda install numpy#安装Readme.md要求需要的包
conda install torch
conda install torchvision
conda install tqdm
pip install sklearn

2.5 上传代码
2.5.1 Windows 下
在 Windows 系统下使用文件传输工具mobaxterm上传代码,另外我们还可以使用 pycharm、vscode 使用远程调试功能,进行文件同步。笔者这里以 mobaxterm 为例,上传我需要运行的代码。

首先我们可以在 mobaxterm 窗口的左边看到当前所在的文件目录,点击 upload to current folder 按钮,在弹出的面板里选择要上传的zip格式的代码压缩包即可。如图所示。

图 2-5-2 是笔者在上传代码,并解压之后的代码目录。

cd /home/y192314/#切换目录
unzip DKT-DeepKnowledgeTracing-DKT-Pytorch-master.zip#解压文件
cd DKT-DeepKnowledgeTracing-DKT-Pytorch-master
ll

2.6 作业调度
2.6.1 常用的 slurm 命令
2.6.1.1 sinfo 查看分区状态
我们可以通过 sinfo 命令来查看当前集群所有分区的状态,如图 2-6-1 所示,输出了当前集群不同分区的状态,表 2-6-1 给出了不同状态的描述。

sinfo

STATE说明
idle空闲
mix节点的部分核心可用
alloc占用

我分析:用第一个idle空闲的GPU,跑得快。
RGZN2 up infinite 3 idle gpu[05-07]
RGZN8 up infinite 14 idle cu[01-08,10-14,16]

2.6.1.2 编写脚本
首先我们编写我们的脚本,然后使用 sbatch 提交。如图 2-6-2 所示,为笔者编写的一个脚本。

touch job.sh	#创建脚本。Linux指令创建文件job.sh(sh文件为执行程序),命令touch filename。注意这里的文件名可以是任意格式的文件名,可以是文本文件(txt),也可以是c,c++文件等,文件的后缀名取决于你文件的内容与功能。
#cd ./DKT/KnowledgeTracing/evaluation/
vim job.sh#编辑脚本。使用vi编辑器进入文本

接着按i开始编辑文本 #按i字母键进入insert模式进行内容编辑,编辑内容如下:

#!/bin/bash -l
#参数名称:appPath 变量名称:$appPath应用路径
#SBATCH --job-name="DKT1" 
#SBATCH --partition=RGZN2 
#SBATCH --qos=normal
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --ntasks-per-core=1
#SBATCH --output=job.%j.out
#SBATCH --error=joberror.%j.out
#SBATCH --gpus=1

source activate py365DKTPytorch

module add cuda/10.0

cd ./DKT/KnowledgeTracing/evaluation/

python run.py

#编辑完成后依次按ESC键、 :wq 、Enter键就可以保存并退出了。

我们可以明显的看出这个脚本可以分为两个部分,下面我们分别对这两个部分进行说明。
第一个部分是作业相关的配置,我们制定了作业的名称,作业运行的分区等等。总之它描述了我们的需求,部分参数说明见表 2-6-2,更多信息,请读者上网查阅,或者使用–hlep参数获得全部参数说明。
2.6.1.3 module
我们接着看上一节的脚本,我们已经介绍完了第一部分,现在来看第二个部分,这是我们要运行我们的程序,也就是我们要训练的模型。首先,我使用 conda 命令激活了我刚刚创建的虚拟环境,然后我使用 module 加载了我需要的版本的 cuda,因为我的 pytorch 版本对应的是 10.0 的 cuda。注意笔者编写的脚本是跟源码放在一个目录下的,所以我最后执行的python 命令并没有指定文件路径。我们可以使用 module avail 来获取当前集群所有可用的cuda 或者其他的 module,如图 2-6-3 所示展示了所有可用的 module

module avail

2.6.1.3 sbatch 提交作业
现在我们写好了我们的作业脚本,接下来我们就可以通过 sbatch 命令提交我们的作业,如图 2-6-4 所示,笔者提交了我们已经写好的脚本。

sbatch job.sh


2.6.1.4 squeue 查看队列中的作业
输入 squeue,集群的作业队列中的所有作业以及它们的状态,如图 2-6-5 所示。

squeue

我们看到我们的任务已经在运行了。已提交的作业的状态,见表 2-6-3

2.6.1.5 scontrol 查看作业的详细信息
如图 2-6-6 所示,展示了我们刚刚提交的作业的具体信息。

scontrol show job 10054

2.6.1.6 scancel 取消已经提交的作业
我们可以使用命令 scancel job_id 来取消指定的作业,如图 2-6-7 所示,我们 scancel 取消我们刚刚提交的作业,再用 squeue 查询作业队列时,已经没有我们的作业。

#scancel 10054	# scancel job_id

sacct -j 10054


Running#正在运行
COMPLETED#已完成运行

其他

#conda deactivate#离开虚拟环境

我的文件目录如下所示

/home/y192314/tools/miniconda3/
/home/y192314/tools/miniconda3/envs/py365DKTPytorch/python.exe#配置python环境所在目录
/home/y192314/DKT-DeepKnowledgeTracing-DKT-Pytorch-master/DKT/KnowledgeTracing/evaluation/run.py#脚本目录

参考文献
[1] 陕西师范大学高性能计算使用指南.pdf
[2] 北京大学高性能计算使用指南 https://hpc.pku.edu.cn/_book/
[3]MobaXterm软件下载官网https://mobaxterm.mobatek.net/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357172.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号