您可以通过客户端工具提交训练任务。本文介绍提交任务相关的命令详情,包括调用格式、参数解释及使用示例。
提交任务的通用参数
使用DLC命令行提交TensorFlow,PyTorch,XGBoost任务时,存在通用的参数。通用参数列表如下
参数 |
是否必选 |
描述 |
类型 |
任务参数描述文件中是否支持该参数 |
name |
是 |
任务的名称,多个任务名称可以相同。 |
STRING |
是 |
command |
是 |
各个节点的启动命令。 |
STRING |
是 |
data_sources |
否 |
数据源。如存在多个,则以逗号分隔,默认为空。 |
STRING |
是 |
code_source |
否 |
代码源,只传入单个,默认为空。 |
STRING |
是 |
thirdparty_libs |
否 |
python三方库;若存在多个,则以逗号分隔,默认为空。 |
STRING |
是 |
thirdparty_lib_dir |
否 |
Python三方库安装使用的requirements.txt文件所在文件夹,默认为空。 |
STRING |
否 |
vpc_id |
否 |
任务可访问的专有网络VPC的ID,默认为空。 |
STRING |
是 |
switch_id |
否(若存在vpc_id则为必选) |
任务访问的专有网络VPC中的交换器ID,默认为空。 |
STRING |
是 |
security_group_id |
否(若存在vpc_id则为必选) |
任务访问的专有网络VPC中的安全组ID,默认为空。 |
STRING |
是 |
job_file |
否 |
任务参数描述文件;如果传入,会优先使用job_file中参数,格式为 |
STRING |
否 |
interactive |
否 |
是否以交互模式启动任务 |
BOOL |
是 |
job_max_running_time_minutes |
否 |
任务的最大运行时长。默认值为0,表示不设置最大运行时长。 |
INT64 |
是 |
success_policy |
否 |
目前仅支持TFJob,取值如下:
默认为空表示AllWorkers。 |
STRING |
是 |
提交TensorFlow训练任务(submit tfjob)
-
功能
用于提交TensorFlow训练任务。
-
格式
系统支持通过命令行参数或任务参数描述文件的方式提交TensorFlow任务。
dlc submit tfjob [flags]
-
参数
如果通过命令行参数的方式提交TensorFlow任务,则需要将命令中的如下参数替换为实际值。如果通过任务参数描述文件的方式提交TensorFlow任务,则将任务参数描述文件中支持的参数以
=
的形式写入文件中。提交TensorFlow任务的通用参数如文章开头的列表所示,以下为TensorFlow的任务特有参数表 2. 提交TensorFlow任务的特有参数 参数
是否必选
描述
类型
任务参数描述文件中是否支持该参数
workspace_id
是
工作空间的ID,(即作业提交DLC公共的工作空间)默认为空。如何创建工作空间可以参考创建工作空间。
STRING
是
chief
否
是否启用TensorFlow Chief节点,该参数取值包括:
-
false:默认值,表示关闭TensorFlow Chief节点。
-
true:表示开启TensorFlow Chief节点。
BOOL
是
chief_image
否
TensorFlow Chief节点的镜像,默认值为空。
STRING
是
chief_spec
否
TensorFlow Chief节点使用的服务器型号,默认值为空。
STRING
是
master_image
否
TensorFlow Master节点的镜像,默认值为空。
STRING
是
master_spec
否
TensorFlow Master节点使用的服务器型号。
STRING
是
masters
否
TensorFlow Master节点的数量,默认值为0。
INT
是
ps
否
TensorFlow Parameter Server节点的数量,默认值为0。
INT
是
ps_image
否
TensorFlow Parameter Server节点的镜像,默认值为空。
STRING
是
ps_spec
否
TensorFlow Parameter Server节点使用的服务器型号,默认值为空。
STRING
是
worker_image
否
TensorFlow Worker节点的镜像,默认值为空。
STRING
是
worker_spec
否
TensorFlow Worker节点使用的服务器型号,默认值为空。
STRING
是
workers
否
TensorFlow Worker节点的数量,默认值为0。
INT
是
evaluator_image
否
TensorFlow Evaluators节点的镜像,默认值为空。
STRING
是
evaluator_spec
否
TensorFlow Evaluators节点使用的服务器型号,默认值为空。
STRING
是
evaluators
否
TensorFlow Evaluators节点的数量,默认值为0。
INT
是
graphlearn_image
否
TensorFlow GraphLearn节点的镜像,默认值为空。
STRING
是
graphlearn_spec
否
TensorFlow GraphLearn节点使用的服务器型号,默认值为空。
STRING
是
graphlearns
否
TensorFlow GraphLearn节点的数量,默认值为0。
INT
是
表 3. 提交TensorFlow任务至专有资源组的特有参数 参数
是否必选
描述
类型
任务参数描述文件中是否支持该参数
resource_id
否(若要提交任务至专有资源组则为必选)
专有资源组的ID,默认为空。如何创建专有资源组可以参考新建及管理通用计算资源。
STRING
是
priority
否
任务优先级。默认为1
INT
是
chief_cpu
否
TesorFlow Chief节点使用CPU的个数,默认为空
STRING
是
chief_gpu
否
TesorFlow Chief节点使用GPU的个数,默认为空
STRING
是
chief_gpu_type
否
TesorFlow Chief节点使用GPU的类型,默认为空。示例值:GU50
STRING
是
chief_memory
否
TesorFlow Chief节点使用内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
chief_shared_memory
否
TesorFlow Chief节点用于共享的内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
master_cpu
否
TesorFlow Master节点使用CPU的个数,默认为空
STRING
是
master_gpu
否
TesorFlow Master节点使用GPU的个数,默认为空
STRING
是
master_gpu_type
否
TesorFlow Master节点使用GPU的类型,默认为空。示例值:GU50
STRING
是
master_memory
否
TesorFlow Master节点使用内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
master_shared_memory
否
TesorFlow Master节点用于共享的内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
*_cpu
否
TesorFlow *节点使用CPU的个数,默认为空。*可替换为(ps,worker,evaluator,graphlearn)。
STRING
是
*_gpu
否
TesorFlow *节点使用GPU的个数,默认为空。*可替换为(ps,worker,evaluator,graphlearn)。
STRING
是
*_gpu_type
否
TesorFlow *节点使用GPU的类型,默认为空。示例值:GU50。*可替换为(ps,worker,evaluator,graphlearn)。
STRING
是
*_memory
否
TesorFlow *节点使用的内存资源,默认为空。示例值:500Mi,1Gi。*可替换为(ps,worker,evaluator,graphlearn)。
STRING
是
*_shared_memory
否
TesorFlow *节点用于共享内存资源,默认为空。示例值:500Mi,1Gi。*可替换为(ps,worker,evaluator,graphlearn)。
STRING
是
-
-
示例
-
通过命令行参数提交一个2 Worker+ 1 PS的分布式作业,示例如下。
dlc submit tfjo --name=test_2021 --ps=1 \ --ps_spec=ecs.g6.8xlarge \ --ps_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04 \ --workers=2 \ --worker_spec=ecs.g6.4xlarge \ --worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04 \ --command="python /root/data/dist_mnist/code/dist-main.py --max_steps=10000 --data_dir=/root/data/dist_mnist/data/" \ --workspace_id=***** \ --data_sources=data-2021xxxxxxxxxx-xxxxxxxxxxxx
系统返回如下类似结果。
+----------------------------------+--------------------------------------+ | JobId | RequestId | +----------------------------------+--------------------------------------+ | dlc-2021xxxxxxxxxx-xxxxxxxxxxxxx | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx | +----------------------------------+--------------------------------------+
-
通过任务参数描述文件提交一个2 Worker+ 1 PS的分布式作业,示例如下。
dlc submit tfjob --job_file=job_file.dist_mnist.1ps2w
其中job_file.dist_mnist.1ps2w为任务参数描述文件,采用
=
的格式填写参数。job_file.dist_mnist.1ps2w的内容如下所示。name=test_2021 workers=2 worker_spec=ecs.g6.4xlarge worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04 ps=1 ps_spec=ecs.g6.8xlarge ps_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/tensorflow-training:1.12.2PAI-cpu-py27-ubuntu16.04 command=python /root/data/dist_mnist/code/dist-main.py --max_steps=10000 --data_dir=/root/data/dist_mnist/data/ workspace_id=***** data_sources=data-2021xxxxxxxxxx-xxxxxxxxxxxx
-
提交PyTorch训练任务(submit pytorchjob)
-
功能
用于提交PyTorch训练任务。
-
格式
系统支持通过命令行参数或任务参数描述文件的方式提交PyTorch任务。
dlc submit pytorchjob [flags]
-
参数
如果通过命令行参数的方式提交PyTorch任务,则需要将命令中的如下参数替换为实际值。如果通过任务参数描述文件的方式提交PyTorch任务,则将任务参数描述文件中支持的参数以
=
的形式写入文件中。提交PyTorch任务的通用参数如文章开头的列表所示,以下为PyTorch任务的特有参数表 4. 提交PyTorch任务的特有参数 参数名称
是否必选
描述
类型
任务参数描述文件中是否支持该参数
workspace_id
是
工作空间的ID,(即作业提交DLC公共的工作空间)默认为空。如何创建工作空间可以参考创建工作空间。
STRING
是
master_image
否
PyTorch Master节点的镜像,默认值为空。
STRING
是
master_spec
否
PyTorch Master节点使用的服务器型号,默认值为空。
STRING
是
masters
否
PyTorch Master节点的数量,默认值为0。
INT
是
worker_image
否
PyTorch Worker节点的镜像,默认值为空。
STRING
是
worker_spec
否
PyTorch Worker节点使用的服务器型号,默认值为空。
STRING
是
workers
否
PyTorch Worker节点的数量,默认值为0。
INT
是
表 5. 提交PyTorch任务至专有资源组的特有参数 参数
是否必选
描述
类型
任务参数描述文件中是否支持该参数
resource_id
否(若要提交任务至专有资源组则为必选)
专有资源组的ID,默认为空。如何创建专有资源组可以参考新建及管理通用计算资源。
STRING
是
priority
否
任务优先级。默认为1
INT
是
master_cpu
否
PyTorch Master节点使用CPU的个数,默认为空
STRING
是
master_gpu
否
PyTorch Master节点使用GPU的个数,默认为空
STRING
是
master_gpu_type
否
PyTorch Master节点使用GPU的类型,默认为空。示例值:GU50
STRING
是
master_memory
否
PyTorch Master节点使用内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
master_shared_memory
否
PyTorch Master节点用于共享的内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
worker_cpu
否
PyTorch Worker节点使用CPU的个数,默认为空
STRING
是
worker_gpu
否
PyTorch Worker节点使用GPU的个数,默认为空
STRING
是
worker_gpu_type
否
PyTorch Worker节点使用GPU的类型,默认为空。示例值:GU50
STRING
是
worker_memory
否
PyTorch Worker节点使用内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
worker_shared_memory
否
PyTorch Worker节点用于共享的内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
-
示例
通过命令行参数提交一个GPU的模型训练任务,示例如下。
dlc submit pytorchjob --name=test_pt_face \ --workers=1 \ --worker_spec=ecs.gn6e-c12g1.3xlarge \ --worker_image=registry-vpc.cn-beijing.aliyuncs.com/pai-dlc/pytorch-training:1.7.1-gpu-py37-cu110-ubuntu18.04 \ --command="apt-get update; apt-get -y --allow-downgrades install libpcre3=2:8.38-3.1 libpcre3-dev libgl1-mesa-glx libglib2.0-dev; cd /root/data/face; python train.py --num_workers 0 --save_folder outputs" \ --data_sources=data-20210410224621-gml01wz02m3k \ --workspace_id=*****
系统返回如下类似结果。
+----------------------------------+--------------------------------------+ | JobId | RequestId | +----------------------------------+--------------------------------------+ | dlc-2021xxxxxxxxxx-xxxxxxxxxxxxx | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx | +----------------------------------+--------------------------------------+
提交XGBoost训练任务(submit xgboostjob)
-
功能
用于提交XGBoost训练任务。
-
格式
系统支持通过命令行参数或任务参数描述文件的方式提交XGBoost任务。
dlc submit xgboostjob [flags]
-
参数
如果通过命令行参数的方式提交XGBoost任务,则需要将命令中的如下参数替换为实际值。如果通过任务参数描述文件的方式提交XGBoost任务,则将任务参数描述文件中支持的参数以
=
的形式写入文件中。提交XGBoost任务的通用参数如文章开头的列表所示,以下为XGBoost任务的特有参数表 6. 提交XGBoost任务的特有参数 参数名称
是否必选
描述
类型
任务参数描述文件中是否支持该参数
workspace_id
是
工作空间的ID,(即作业提交DLC公共的工作空间)默认为空。如何创建工作空间可以参考创建工作空间。
STRING
是
master_image
否
XGBoost Master节点的镜像,默认值为空。
STRING
是
master_spec
否
XGBoost Master节点使用的服务器型号,默认值为空。
STRING
是
masters
否
XGBoost Master节点的数量,默认值为0。
INT
是
worker_image
否
XGBoost Worker节点的镜像,默认值为空。
STRING
是
worker_spec
否
XGBoost Worker节点使用的服务器型号,默认值为空。
STRING
是
workers
否
XGBoost Worker节点的数量,默认值为0。
INT
是
表 7. 提交XGBoost任务至专有资源组的特有参数 参数
是否必选
描述
类型
任务参数描述文件中是否支持该参数
resource_id
否(若要提交任务至专有资源组则为必选)
专有资源组的ID,默认为空。如何创建专有资源组可以参考新建及管理通用计算资源。
STRING
是
priority
否
任务优先级。默认为1
INT
是
master_cpu
否
XGBoost Master节点使用CPU的个数,默认为空
STRING
是
master_gpu
否
XGBoost Master节点使用GPU的个数,默认为空
STRING
是
master_gpu_type
否
XGBoost Master节点使用GPU的类型,默认为空。示例值:GU50
STRING
是
master_memory
否
XGBoost Master节点使用内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
master_shared_memory
否
XGBoost Master节点用于共享的内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
worker_cpu
否
XGBoost Worker节点使用CPU的个数,默认为空
STRING
是
worker_gpu
否
XGBoost Worker节点使用GPU的个数,默认为空
STRING
是
worker_gpu_type
否
XGBoost Worker节点使用GPU的类型,默认为空。示例值:GU50
STRING
是
worker_memory
否
XGBoost Worker节点使用内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
worker_shared_memory
否
XGBoost Worker节点用于共享的内存资源,默认为空。示例值:500Mi,1Gi。
STRING
是
-
示例
通过命令行参数提交一个XGBoost任务,示例如下。
dlc submit xgboostjob --name=test_xgboost \ --workers=1 \ --worker_spec=ecs.gn6e-c12g1.3xlarge \ --worker_image=xgboost-training:1.6.0-cpu-py36-ubuntu18.04 \ --command="python /root/code/horovod/xgboost/main.py --job_type=Train --xgboost_parameter=objective:multi:softprob,num_class:3 --n_estimators=50 --model_path=autoAI/xgb-opt/2" \ --workspace_id=*****
系统返回如下类似结果。
+----------------------------------+--------------------------------------+ | JobId | RequestId | +----------------------------------+--------------------------------------+ | dlc-2021xxxxxxxxxx-xxxxxxxxxxxxx | xxxxxxxx-79AF-4EFC-9CE9-xxxxxxxxxxxx | +----------------------------------+--------------------------------------+
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/163914.html