查询训练作业列表
功能介绍
根据指定查询条件查询用户创建的训练作业列表。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/training-job-searches
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
用户项目ID。获取方法请参见获取项目ID和名称。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
offset |
否 |
Integer |
查询作业的页数,最小为0。例如设置为0,则表示从第一页开始查询。 |
limit |
否 |
Integer |
查询作业的每页条目数。最小为1,最大为50。 |
sort_by |
否 |
String |
查询作业排列顺序的指标。默认使用create_time排序。 |
order |
否 |
String |
查询作业排列顺序,默认为“desc”,降序排序。也可以选择对应的“asc”,升序排序。 |
group_by |
否 |
String |
查询作业要搜索的分组条件。 |
filters |
否 |
Array of filters objects |
查询作业要过滤的一系列条件。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
total |
Integer |
查询到当前用户名下的所有作业总数。 |
count |
Integer |
查询到当前用户名下的所有符合查询条件的作业总数。 |
limit |
Integer |
查询作业的每页条目数。最小为1,最大为50。 |
offset |
Integer |
查询作业的页数,最小为0。例如设置为0,则表示从第一页开始查询。 |
sort_by |
String |
查询作业排列顺序的指标。默认使用create_time排序。 |
order |
String |
查询作业排列顺序,默认为“desc”,降序排序。也可以选择对应的“asc”,升序排序。 |
group_by |
String |
查询作业要搜索的分组条件。 |
workspace_id |
String |
作业所处的工作空间,默认值为“0”。 |
ai_project |
String |
作业所属的ai项目,默认值为"default-ai-project"。 |
items |
Array of JobResponse objects |
查询到当前用户名下的所有符合查询条件的作业详情。 |
参数 |
参数类型 |
描述 |
---|---|---|
kind |
String |
训练作业类型。默认使用job。枚举值:
|
metadata |
JobMetadata object |
训练作业元信息。 |
status |
Status object |
训练作业状态信息。创建作业无需填写。 |
algorithm |
JobAlgorithmResponse object |
训练作业算法。目前支持三种形式:
|
tasks |
Array of TaskResponse objects |
异构训练作业的任务列表。 |
spec |
spec 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 |
训练作业一级状态。可选值如下: “Creating”, “Pending”, “Running”, “Failed”, “Completed”, “Terminating”, “Terminated”, “Abnormal”。 |
secondary_phase |
String |
训练作业二级状态为内部详细状态,可能会增加、修改、删除,不建议依赖。可选值如下: “Creating”, “Queuing”, “Running”, “Failed”, “Completed”, “Terminating”, “Terminated”, “CreateFailed”, “TerminatedFailed”, “Unknown”, “Lost”。 |
duration |
Long |
训练作业运行时长,单位为毫秒。 |
node_count_metrics |
Array<Array<Integer>> |
训练作业运行时节点数变化指标。 |
tasks |
Array of strings |
训练作业子任务名称。 |
start_time |
Long |
训练作业开始时间,格式为时间戳。 |
task_statuses |
Array of task_statuses objects |
训练在子任务状态信息。 |
running_records |
Array of running_records objects |
训练作业运行及故障恢复记录。 |
参数 |
参数类型 |
描述 |
---|---|---|
task |
String |
训练作业子任务名称。 |
exit_code |
Integer |
训练作业子任务退出码。 |
message |
String |
训练作业子任务错误消息。 |
参数 |
参数类型 |
描述 |
---|---|---|
start_at |
Integer |
本次运行开始时间的unix时间戳,单位为秒(s)。 |
end_at |
Integer |
本次运行结束时间的unix时间戳,单位为秒(s)。 |
start_type |
String |
本地运行的启动方式: init_or_rescheduled:代表本次启动为被调度后的首次运行,包括初次启动及调度恢复后的运行。 restarted: 代表本次启动非被调度后的首次运行,为进程重启后的运行。 |
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一同出现,若填入id或subscription_id+item_version_id则无需填写。 |
boot_file |
String |
训练作业的代码启动文件,需要在代码目录下。如:“/usr/app/boot.py”。应与code_dir一同出现,若填入id或subscription_id+item_version_id则无需填写。 |
autosearch_config_path |
String |
自动化搜索作业的yaml配置路径,需要提供一个OBS路径。 |
autosearch_framework_path |
String |
自动化搜索作业的框架代码目录,需要提供一个OBS路径。 |
command |
String |
自定义镜像训练作业的自定义镜像的容器的启动命令。例如python train.py。 |
parameters |
Array of Parameter objects |
训练作业的运行参数。 |
policies |
policies object |
作业支持的策略。 |
inputs |
Array of Input objects |
训练作业的数据输入。 |
outputs |
Array of Output objects |
训练作业的结果输出。 |
engine |
engine 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 |
数据输入通道映射的容器本地路径。 |
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 |
训练作业选择的自定义镜像地址。 |
参数 |
参数类型 |
描述 |
---|---|---|
role |
String |
任务角色,该功能暂未支持。 |
algorithm |
algorithm object |
算法管理算法配置。 |
task_resource |
FlavorResponse object |
训练作业、算法的规格信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
code_dir |
String |
算法启动文件所在目录绝对路径。 |
boot_file |
String |
算法启动文件绝对路径。 |
inputs |
inputs object |
算法输入通道信息。 |
outputs |
outputs object |
算法输出通道信息。 |
engine |
engine object |
异构作业所依赖的引擎。 |
local_code_dir |
String |
算法的代码目录下载到训练容器内的本地路径。规则如下:
|
working_dir |
String |
运行算法时所在的工作目录。规则:v1兼容模式下,当前字段不生效。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
数据输入通道名称。 |
local_dir |
String |
数据输入输出通道映射的容器本地路径。 |
remote |
remote 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 |
异构作业引擎规格的版本。 |
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 |
billing object |
资源规格计费信息。 |
flavor_info |
flavor_info 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 |
disk object |
磁盘信息。 |
参数 |
参数类型 |
描述 |
---|---|---|
resource |
Resource object |
训练作业资源规格信息。flavor_id和pool_id+[flavor_id]方式二选一。 |
volumes |
Array of volumes objects |
训练作业挂载卷信息。 |
log_export_path |
log_export_path 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 |
flavor_detail object |
训练作业、算法的规格信息(该字段只有公共资源池存在)。 |
参数 |
参数类型 |
描述 |
---|---|---|
flavor_type |
String |
资源规格的类型。可选值如下:
|
billing |
billing object |
资源规格计费信息。 |
flavor_info |
flavor_info 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 |
磁盘信息。 |
请求示例
查询训练作业。设置查询训练作业限制个数为1,查询作业名称中包含trainjob的所有训练作业数据。
POST https://endpoint/v2/{project_id}/training-job-searches?limit=1 { "offset" : 0, "limit" : 1, "filters" : [ { "key" : "name", "operator" : "like", "value" : [ "trainjob" ] }, { "key" : "create_time", "operator" : "between", "value" : [ "", "" ] }, { "key" : "phase", "operator" : "in", "value" : [ "" ] }, { "key" : "algorithm_name", "operator" : "like", "value" : [ "" ] }, { "key" : "kind", "operator" : "in", "value" : [ ] }, { "key" : "user_id", "operator" : "in", "value" : [ "" ] } ] }
响应示例
状态码: 200
ok
{ "total" : 5059, "count" : 1, "limit" : 1, "offset" : 0, "sort_by" : "create_time", "order" : "desc", "group_by" : "", "workspace_id" : "0", "ai_project" : "default-ai-project", "items" : [ { "kind" : "job", "metadata" : { "id" : "3faf5c03-aaa1-4cbe-879d-24b05d997347", "name" : "trainjob--py14_mem06-byd-108", "description" : "", "create_time" : 1636447346315, "workspace_id" : "0", "user_name" : "ei_modelarts_q00357245_01" }, "status" : { "phase" : "Abnormal", "secondary_phase" : "CreateFailed", "duration" : 0, "start_time" : 0, "node_count_metrics" : [ [ 1636447746000, 0 ], [ 1636447755000, 0 ], [ 1636447756000, 0 ] ], "tasks" : [ "worker-0" ] }, "algorithm" : { "code_dir" : "obs://test-crq/economic_test/py_minist/", "boot_file" : "obs://test-crq/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-crq/data/py_minist/" } } } ], "outputs" : [ { "name" : "train_url", "local_dir" : "/home/ma-user/modelarts/outputs/train_url_0", "remote" : { "obs" : { "obs_url" : "/test-crq/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" } } } } } } ] }
状态码
状态码 |
描述 |
---|---|
200 |
ok |
错误码
请参见错误码。