本文以MMSegmentation为例,描述在长安大学高算平台(景行服务器)提交作业的指令。
1、首先在Linux_Terminal进入所建的虚拟环境,然后进入(cd)至MMSegmentation的目录。
2、使用单GPU提交作业的指令为:
jsub -q <队列名> -n <CPU数> -m <计算节点名> -gpgpu <gpu卡数> -o output.%J -e error.%J -J <作业名> ./commandline
以MMSegmentation为例的指令为:
jsub -q gpu -n 1 -m gpu06 -gpgpu 1 -o output.%J -e error.%J -J my_job ~/miniconda3/envs/mmseg_new/bin/python tools/train.py configs/segformer/segformer_mit-b0_640x512_400_pierdefect.py
参数详解:
# <jsub>:提交作业 # <-q gpu>:指定gpu队列 # <-n 1>:指定该作业所需1核cpu
# <-m gpu06>:指定该作业运行在gpu06节点 # <-gpgpu 1>:将该作业在gpu06的1张卡上运行
# <-o output.%J>:正确信息输出到output.%文件 # <-e error.%J>:错误信息输出error.%J文件中
# <-J my_job>:指定作业名字为my_job
# <~/miniconda3/envs/mmseg_new/bin/python>:虚拟环境下的Python路径
# <tools/train.py>:需要运行的脚本文件
#<configs/segformer/segformer_mit-b0_640x512_400_pierdefect.py>: train.py中所用到的配置文件。如果还想在train.py中输入一些参数,在配置文件后面直接接着写就行。
3、使用单机多GPU提交作业的指令为:
jsub -q gpu -n 1 -m gpu08 -gpgpu 2 -o output.%J -e error.%J -J my_job sh tools/my_dist_train.sh configs/segformer/segformer_mit_b0_640x512_400_pierdefect.py 2
# <-m gpu08>:指定该作业运行在gpu08节点 # <-gpgpu 2>:将该作业在gpu08的2张卡上运行
#<sh tools/my_dist_train.sh>:运行my_dist_train.sh脚本。注意,这里的my_dist_train.sh是对原本MMSegmentation的dist_train.sh进行了一处修改,用于指定虚拟环境下的Python路径,具体如下:
将原来dist_train.sh第9行的python改为了~/miniconda3/envs/mmseg_new/bin/python(自己虚拟环境的python路径)
#<configs/segformer/segformer_mit-b0_640x512_400_pierdefect.py>:train.py所用到的配置文件
#<2> 所需显卡的个数。如果还想在train.py中输入一些参数,在配置文件后面直接接着写就行。