终止训练作业
功能介绍
终止训练作业,只可终止创建中、等待中、运行中的作业。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/training-jobs/{training_job_id}/actions
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
action_type |
是 |
String |
对训练作业的操作请求。参数值设置为terminate时,表示终止训练作业操作。 |
响应参数
状态码: 202
参数 |
参数类型 |
描述 |
---|---|---|
kind |
String |
训练作业类型。默认使用job。枚举值:
|
metadata |
JobMetadata object |
训练作业元信息。 |
status |
Status object |
训练作业状态信息。创建作业无需填写。 |
algorithm |
JobAlgorithmResponse object |
训练作业算法。目前支持三种形式:
|
tasks |
Array of TaskResponse objects |
异构训练作业的任务列表。 |
spec |
SpecResponce object |
训练作业规格参数。 |
endpoints |
JobEndpointsResp object |
远程接入训练作业时需要的相关配置。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
训练作业ID,创建成功后由ModelArts生成返回,无需填写。 |
name |
String |
训练作业名称。限制为1-64位只含数字、字母、下划线和中划线的名称。 |
workspace_id |
String |
指定作业所处的工作空间,默认值为“0”。 |
description |
String |
对训练作业的描述,默认为“NULL”,字符串的长度限制为[0, 256]。 |
create_time |
Long |
训练作业创建时间戳,单位为毫秒,创建成功后由ModelArts生成返回,无需填写。 |
user_name |
String |
训练作业创建用户的用户名,创建成功后由ModelArts生成返回,无需填写。 |
annotations |
Map<String,String> |
训练作业高级功能配置,可选取值如下:
|
参数 |
参数类型 |
描述 |
---|---|---|
phase |
String |
训练作业一级状态。可选值如下:
|
secondary_phase |
String |
训练作业二级状态为内部详细状态,可能会增加、修改、删除,不建议依赖。可选值如下:
|
duration |
Long |
训练作业运行时长,单位为毫秒。 |
node_count_metrics |
Array<Array<Integer>> |
训练作业运行时节点数变化指标。 |
tasks |
Array of strings |
训练作业子任务名称。 |
start_time |
Long |
训练作业开始时间,格式为时间戳。 |
task_statuses |
Array of TaskStatuses objects |
训练在子任务状态信息。 |
running_records |
Array of RunningRecord objects |
训练作业运行及故障恢复记录。 |
参数 |
参数类型 |
描述 |
---|---|---|
task |
String |
训练作业子任务名称。 |
exit_code |
Integer |
训练作业子任务退出码。 |
message |
String |
训练作业子任务错误消息。 |
参数 |
参数类型 |
描述 |
---|---|---|
start_at |
Integer |
本次运行开始时间的unix时间戳,单位为秒(s)。 |
end_at |
Integer |
本次运行结束时间的unix时间戳,单位为秒(s)。 |
start_type |
String |
本地运行的启动方式:
|
end_reason |
String |
本次运行结束原因。 |
end_related_task |
String |
引发本次运行结束的task worker ID(如worker-0)。 |
end_recover |
String |
本次运行结束后所采取的故障容忍策略,枚举值如下:
|
end_recover_before_downgrade |
String |
本次运行结束后在故障容忍策略降级前所采取的容忍策略,取值范围同end_recover。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
训练作业算法。目前支持三种形式:
|
name |
String |
算法名称。 |
subscription_id |
String |
订阅算法的订阅ID。应与item_version_id一同出现。 |
item_version_id |
String |
订阅算法的版本。应与subscription_id一同出现。 |
code_dir |
String |
训练作业的代码目录。如:“/usr/app/”。应与boot_file一同出现,如果boot_file已经填入id或subscription_id+item_version_id,则无需填写此参数。 |
boot_file |
String |
训练作业的代码启动文件,需要在代码目录下。如:“/usr/app/boot.py”。应与code_dir一同出现,如果code_dir已经填入id或subscription_id+item_version_id,则无需填写此参数。 |
autosearch_config_path |
String |
自动化搜索作业的yaml配置路径,需要提供一个OBS路径。如:“obs://bucket/file.yaml”。 |
autosearch_framework_path |
String |
自动化搜索作业的框架代码目录,需要提供一个OBS路径。如:“obs://bucket/files/”。 |
command |
String |
自定义镜像训练作业的自定义镜像的容器的启动命令。例如python train.py。 |
parameters |
Array of Parameter objects |
训练作业的运行参数。 |
policies |
policies object |
作业支持的策略。 |
inputs |
Array of Input objects |
训练作业的数据输入。 |
outputs |
Array of Output objects |
训练作业的结果输出。 |
engine |
JobEngine object |
训练作业的引擎。使用算法管理的算法id或订阅算法subscription_id+item_version_id创建作业时,无需填写。 |
local_code_dir |
String |
算法的代码目录下载到训练容器内的本地路径。规则如下:
|
working_dir |
String |
运行算法时所在的工作目录。规则:v1兼容模式下,当前字段不生效。 |
environments |
Array of Map<String,String> objects |
训练作业的环境变量。格式:"key":"value",无需填写。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
参数名称。 |
value |
String |
参数值。 |
description |
String |
参数描述信息。 |
constraint |
constraint object |
参数属性。 |
i18n_description |
i18n_description object |
国际化描述。 |
参数 |
参数类型 |
描述 |
---|---|---|
type |
String |
参数种类。 |
editable |
Boolean |
是否可编辑。 |
required |
Boolean |
是否必须。 |
sensitive |
Boolean |
是否敏感。该功能暂未实现。 |
valid_type |
String |
有效种类。 |
valid_range |
Array of strings |
有效范围。 |
参数 |
参数类型 |
描述 |
---|---|---|
language |
String |
国际语种,可选值如下:
|
description |
String |
国际化语种的描述信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
skip_search_params |
String |
需要排除的超参组合。 |
reward_attrs |
Array of reward_attrs objects |
搜索指标列表。 |
search_params |
Array of search_params objects |
搜索参数。 |
algo_configs |
Array of algo_configs objects |
搜索算法配置。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
指标名称。 |
mode |
String |
搜索方向。
|
regex |
String |
指标正则表达式。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
超参名称。 |
param_type |
String |
参数类型。
|
lower_bound |
String |
超参下界。 |
upper_bound |
String |
超参上界。 |
discrete_points_num |
String |
连续型超参离散化取值个数。 |
discrete_values |
Array of strings |
离散型超参的取值列表。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
搜索算法名称。 |
params |
Array of AutoSearchAlgoConfigParameter objects |
搜索算法参数。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
数据输入通道名称。 |
description |
String |
数据输入通道描述信息。 |
local_dir |
String |
数据输入通道映射的容器本地路径。例如,“/home/ma-user/modelarts/inputs/data_url_0”。 |
remote |
InputDataInfo object |
数据实际输入信息。枚举值:
|
remote_constraint |
Array of remote_constraint objects |
数据输入约束。 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
训练作业的数据集ID。 |
version_id |
String |
训练作业的数据集版本ID。 |
obs_url |
String |
训练作业需要的数据集OBS路径URL,ModelArts会通过数据集ID和数据集版本ID自动解析生成。如:“/usr/data/”。 |
参数 |
参数类型 |
描述 |
---|---|---|
data_type |
String |
数据输入类型,包括数据存储位置、数据集两种方式。 |
attributes |
String |
数据输入为数据集时的相关属性。枚举值:
|
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
数据输出通道名称。 |
description |
String |
数据输出通道描述信息。 |
local_dir |
String |
数据输出通道映射的容器本地路径。 |
remote |
Remote object |
数据实际输出信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
engine_id |
String |
训练作业选择的引擎规格ID。engine_id,engine_name+engine_version和image_url方式三选一。 |
engine_name |
String |
训练作业选择的引擎名称。如果已填写engine_id,则此参数无需填写。 |
engine_version |
String |
训练作业选择的引擎版本名称。如果已填写engine_id,则此参数无需填写。 |
image_url |
String |
训练作业选择的自定义镜像地址,地址从swr服务获取。 |
install_sys_packages |
Boolean |
是否需要安装训练平台指定的 moxing 版本。true为需要。只有填写了engine_name,engine_version,image_url参数时支持该设置。 |
参数 |
参数类型 |
描述 |
---|---|---|
role |
String |
任务角色,该功能暂未支持。 |
algorithm |
TaskResponseAlgorithm object |
算法管理算法配置。 |
task_resource |
FlavorResponse object |
训练作业、算法的规格信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
code_dir |
String |
算法启动文件所在目录绝对路径。 |
boot_file |
String |
算法启动文件绝对路径。 |
inputs |
AlgorithmInput object |
算法输入通道信息。 |
outputs |
AlgorithmOutput object |
算法输出通道信息。 |
engine |
AlgorithmEngine object |
异构作业所依赖的引擎。 |
local_code_dir |
String |
算法的代码目录下载到训练容器内的本地路径。规则如下:
|
working_dir |
String |
运行算法时所在的工作目录。规则:v1兼容模式下,当前字段不生效。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
数据输入通道名称。 |
local_dir |
String |
数据输入输出通道映射的容器本地路径。 |
remote |
AlgorithmRemote object |
数据实际输入信息,异构作业只支持OBS。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
数据输出通道名称。 |
local_dir |
String |
数据输出通道映射的容器本地路径。 |
remote |
Remote object |
数据实际输出信息。 |
mode |
String |
数据传输模式,默认为“upload_periodically”。 |
period |
String |
数据传输周期,默认为30s。 |
参数 |
参数类型 |
描述 |
---|---|---|
engine_id |
String |
引擎规格的ID。如“caffe-1.0.0-python2.7”。 |
engine_name |
String |
引擎规格的名称。如“Caffe”。 |
engine_version |
String |
引擎规格的版本。对一个引擎名称,有多个版本的引擎,如使用python2.7的"Caffe-1.0.0-python2.7"等。 |
v1_compatible |
Boolean |
是否为v1兼容模式。 |
run_user |
String |
引擎默认启动用户uid。 |
image_url |
String |
算法选择的自定义镜像地址。 |
参数 |
参数类型 |
描述 |
---|---|---|
flavor_id |
String |
资源规格的ID。 |
flavor_name |
String |
资源规格的名称。 |
max_num |
Integer |
资源规格的最大节点数。 |
flavor_type |
String |
资源规格的类型。可选值如下:
|
billing |
BillingInfo object |
资源规格计费信息。 |
flavor_info |
FlavorInfoResponse object |
资源规格详细信息。 |
attributes |
Map<String,String> |
其他规格属性。 |
参数 |
参数类型 |
描述 |
---|---|---|
max_num |
Integer |
可以选择的最大节点数量(max_num,为1代表不支持分布式)。 |
cpu |
Cpu object |
cpu规格信息。 |
gpu |
Gpu object |
gpu规格信息。 |
npu |
Npu object |
Ascend规格信息。 |
memory |
Memory object |
内存信息。 |
disk |
DiskResponse object |
磁盘信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
resource |
Resource object |
训练作业资源规格信息。flavor_id和pool_id+[flavor_id]方式二选一。 |
volumes |
Array of JobVolume objects |
训练作业挂载卷信息。 |
log_export_path |
LogExportPath object |
训练作业日志输出信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
policy |
String |
训练作业资源规格模式,可选值为regular,表示为标准模式。 |
flavor_id |
String |
训练作业资源规格id。CPU规格专属资源池不支持指定flavor_id。GPU/Ascend规格专属资源池可选取值如下:
|
flavor_name |
String |
使用flavor_id时,由ModelArts返回的只读规格名称。 |
node_count |
Integer |
训练作业选择的资源副本数。 |
pool_id |
String |
训练作业选择的资源池ID。 |
flavor_detail |
FlavorDetail object |
训练作业、算法的规格信息(该字段只有公共资源池存在)。 |
参数 |
参数类型 |
描述 |
---|---|---|
flavor_type |
String |
资源规格的类型。可选值如下:
|
billing |
BillingInfo object |
资源规格计费信息。 |
flavor_info |
FlavorInfo object |
资源规格详细信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
max_num |
Integer |
可以选择的最大节点数量(max_num,为1代表不支持分布式)。 |
cpu |
Cpu object |
cpu规格信息。 |
gpu |
Gpu object |
gpu规格信息。 |
npu |
Npu object |
Ascend规格信息。 |
memory |
Memory object |
内存信息。 |
disk |
Disk object |
磁盘信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
nfs_server_path |
String |
nfs服务端路径,如:“10.10.10.10:/example/path”。 |
local_path |
String |
挂载到训练容器中的路径,如:“/example/path”。 |
read_only |
Boolean |
nfs挂载卷在容器中是否只读。 |
参数 |
参数类型 |
描述 |
---|---|---|
obs_url |
String |
训练作业日志保存的OBS地址,如:“obs://example/path”。 |
host_path |
String |
训练作业日志保存的宿主机的路径,如:“/example/path”。 |
参数 |
参数类型 |
描述 |
---|---|---|
ssh |
SSHResp object |
SSH连接信息。 |
jupyter_lab |
JupyterLab object |
JupyterLab连接信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
key_pair_names |
Array of strings |
SSH密钥对名称,可以在云服务器控制台(ECS)“密钥对”页面创建和查看。 |
task_urls |
Array of TaskUrls objects |
SSH连接地址信息。 |
请求示例
停止uuid为3faf5c03-aaa1-4cbe-879d-24b05d997347的训练作业。
POST https://endpoint/v2/{project_id}/training-jobs/cf63aba9-63b1-4219-b717-708a2665100b/actions { "action_type" : "terminate" }
响应示例
状态码: 202
ok
{ "kind" : "job", "metadata" : { "id" : "cf63aba9-63b1-4219-b717-708a2665100b", "name" : "trainjob--py14_mem06-110", "description" : "", "create_time" : 1636515222282, "workspace_id" : "0", "user_name" : "ei_modelarts_z00424192_01" }, "status" : { "phase" : "Terminating", "secondary_phase" : "Terminating", "duration" : 0, "start_time" : 0, "node_count_metrics" : null, "tasks" : [ "worker-0" ] }, "algorithm" : { "code_dir" : "obs://test/economic_test/py_minist/", "boot_file" : "obs://test/economic_test/py_minist/minist_common.py", "inputs" : [ { "name" : "data_url", "local_dir" : "/home/ma-user/modelarts/inputs/data_url_0", "remote" : { "obs" : { "obs_url" : "/test/data/py_minist/" } } } ], "outputs" : [ { "name" : "train_url", "local_dir" : "/home/ma-user/modelarts/outputs/train_url_0", "remote" : { "obs" : { "obs_url" : "/test/train_output/" } } } ], "engine" : { "engine_id" : "pytorch-cp36-1.4.0-v2", "engine_name" : "PyTorch", "engine_version" : "PyTorch-1.4.0-python3.6-v2" } }, "spec" : { "resource" : { "policy" : "economic", "flavor_id" : "modelarts.vm.pnt1.large.eco", "flavor_name" : "Computing GPU(Pnt1) instance", "node_count" : 1, "flavor_detail" : { "flavor_type" : "GPU", "billing" : { "code" : "modelarts.vm.gpu.pnt1.eco", "unit_num" : 1 }, "flavor_info" : { "cpu" : { "arch" : "x86", "core_num" : 8 }, "gpu" : { "unit_num" : 1, "product_name" : "GP-Pnt1", "memory" : "8GB" }, "memory" : { "size" : 64, "unit" : "GB" } } } } } }
状态码
状态码 |
描述 |
---|---|
202 |
ok |
错误码
请参见错误码。