创建训练作业 - CreateTrainingJob
功能介绍
创建训练作业接口用于在ModelArts平台上启动新的训练任务。
该接口适用于以下场景:当用户需要基于特定的数据集和算法模型进行机器学习训练时,可以通过此接口创建并配置训练作业。使用该接口的前提条件是用户已上传数据集和模型代码至ModelArts平台,并具有创建训练作业的权限。创建训练作业后,平台将根据配置的资源规格启动训练任务,用户可以通过作业ID监控训练进度和状态。若数据集或模型代码不存在、资源规格配置错误或用户无权限操作,接口将返回相应的错误信息。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,需具备如下身份策略权限。
授权项
访问级别
资源类型(*为必须)
条件键
别名
依赖的授权项
modelarts:trainJob:logExport
Write
trainJob *
-
-
-
URI
POST /v2/{project_id}/training-jobs
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 参数解释:用户项目ID。获取方法请参见获取项目ID和名称。 约束限制:1 - 64字符,字母、数字和中划线。 取值范围:不涉及。 默认取值:不涉及。 |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
kind | 是 | String | 参数解释:训练作业类型。 约束限制:不涉及。 取值范围: 默认取值:job。 |
metadata | 是 | JobMetadata object | 参数解释:训练作业元信息。 约束限制:不涉及。 |
algorithm | 否 | JobAlgorithm object | 参数解释:训练作业算法。 约束限制:目前支持三种形式: |
tasks | 否 | Array of Task objects | 参数解释:任务列表。该功能暂未实现。 约束限制:不涉及。 |
spec | 否 | Spec object | 参数解释:训练作业规格参数。有此字段时,无需填写tasks字段。 约束限制:不涉及。 |
endpoints | 否 | JobEndpointsReq object | 参数解释:远程接入训练作业时需要的相关配置。 约束限制:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数解释:训练作业名称。 约束限制:不涉及。 取值范围:限制为1-64位只含数字、字母、下划线和中划线的名称。 默认取值:不涉及。 |
workspace_id | 否 | String | 参数解释:指定作业所处的工作空间。 约束限制:不涉及。 取值范围:不涉及。 默认取值:默认值为“0”。 |
description | 否 | String | 参数解释:对训练作业的描述。 约束限制:长度限制为[0, 256]。 取值范围:不涉及。 默认取值:默认为“NULL”。 |
annotations | 否 | Map<String,String> | 参数解释:训练作业高级功能配置。 约束限制:可选取值如下: |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
id | 否 | String | 参数解释:算法管理的算法id。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
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路径。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
autosearch_framework_path | 否 | String | 参数解释:自动化搜索作业的框架代码目录,需要提供一个OBS路径。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
command | 否 | String | 参数解释:自定义镜像场景下,训练作业的自定义镜像的容器的启动命令。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
parameters | 否 | Array of Parameters objects | 参数解释:训练作业的运行参数。 约束限制:不涉及。 |
policies | 否 | JobPolicies 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 | 否 | Map<String,String> | 参数解释:训练作业的环境变量。格式:"key":"value"。 约束限制:其中key最大允许填写8192字符,value最大允许填写4096字符,最多允许100对环境变量。变量名应该仅包含字母、数字、下划线,且以字母或下划线开头。 注:不支持使用符号 $ 引用变量。 |
summary | 否 | Summary object | 参数解释:可视化日志summary。 约束限制:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 否 | String | 参数解释:参数名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
value | 否 | String | 参数解释:参数值。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
description | 否 | String | 参数解释:参数描述信息。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
constraint | 否 | ParametersConstraint object | 参数解释:参数属性。 约束限制:不涉及。 |
i18n_description | 否 | I18nDescription 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 RewardAttrs objects | 参数解释:搜索指标列表。 约束限制:不涉及。 |
search_params | 否 | Array of SearchParams objects | 参数解释:搜索参数。 约束限制:不涉及。 |
algo_configs | 否 | Array of AlgoConfigs 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 | 参数解释:搜索算法参数。 约束限制:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
key | 否 | String | 参数解释:参数键。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
value | 否 | String | 参数解释:参数值。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
type | 否 | String | 参数解释:参数种类。 约束限制:不涉及。 取值范围:枚举值如下: 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
engine_id | 否 | String | 参数解释:训练作业选择的引擎规格ID。 约束限制:engine_id,engine_name+engine_version和image_url方式三选一。 取值范围:不涉及。 默认取值:不涉及。 |
engine_name | 否 | String | 参数解释:训练作业选择的引擎规格名称。 约束限制:如果已填写engine_id,则此参数无需填写。如果使用预置框架+自定义镜像的创建方式时需要同时传入此参数和image_url参数。 取值范围:不涉及。 默认取值:不涉及。 |
engine_version | 否 | String | 参数解释:训练作业选择的引擎规格版本。 约束限制:如果已填写engine_id,则此参数无需填写。 取值范围:不涉及。 默认取值:不涉及。 |
image_url | 否 | String | 参数解释:训练作业选择的自定义镜像地址,地址从swr服务获取。 约束限制:格式:组织名/镜像名:版本号 。 取值范围:不涉及。 默认取值:不涉及。 |
install_sys_packages | 否 | Boolean | 参数解释:是否需要安装训练平台指定的 moxing 版本。 约束限制:只有填写了engine_name,engine_version,image_url参数时支持该设置。 取值范围: 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
log_type | 否 | String | 参数解释:训练作业可视化日志类型,配置后训练作业可作为可视化作业数据源。 约束限制:不涉及。 取值范围: 默认取值:不涉及。 |
log_dir | 否 | LogDir object | 参数解释:训练作业可视化日志输出。 约束限制:log_type非空时必填。 |
data_sources | 否 | Array of DataSource objects | 参数解释:可视化作业或训练作业调试模式的可视化日志输入。 约束限制:训练作业高级功能开启"tensorboard/enable": "true"或"mindstudio-insight/enable": "true"时必填。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
job | 是 | JobSummary object | 参数解释:作业数据源。 约束限制:可视化作业或训练作业调试模式的可视化日志输入,训练作业高级功能开启"tensorboard/enable": "true"或"mindstudio-insight/enable": "true"时必填。 |
nfs | 否 | NFSSummary object | 参数解释:作业数据源。 约束限制:训练作业高级功能开启"mindstudio-insight/enable":"true"且"mindstudio-insight/enable": "true"时必填。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
role | 否 | String | 参数解释:任务角色,该功能暂未支持。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
algorithm | 否 | algorithm object | 参数解释:算法管理算法配置。 约束限制:不涉及。 |
task_resource | 否 | task_resource object | 参数解释:训练作业资源规格信息。 约束限制:不涉及。 |
log_export_path | 否 | log_export_path object | 参数解释:训练作业日志保存信息。 约束限制:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
job_config | 否 | job_config object | 参数解释:算法配置信息,如启动文件等。 约束限制:不涉及。 |
code_dir | 否 | String | 参数解释:算法的代码目录。如:“/usr/app/”。 约束限制:应与boot_file一同出现。 取值范围:不涉及。 默认取值:不涉及。 |
boot_file | 否 | String | 参数解释:算法的代码启动文件,需要在代码目录下。如:“/usr/app/boot.py”。 约束限制:应与code_dir一同出现。 取值范围:不涉及。 默认取值:不涉及。 |
engine | 否 | engine object | 参数解释:异构作业算法的引擎。 约束限制:不涉及。 |
inputs | 否 | Array of inputs objects | 参数解释:算法的数据输入。 约束限制:不涉及。 |
outputs | 否 | Array of outputs objects | 参数解释:算法的数据输出。 约束限制:不涉及。 |
local_code_dir | 否 | String | 参数解释:算法的代码目录下载到训练容器内的本地路径。 约束限制: 取值范围:不涉及。 默认取值:不涉及。 |
working_dir | 否 | String | 参数解释:运行算法时所在的工作目录。 约束限制:v1兼容模式下,当前字段不生效。 取值范围:不涉及。 默认取值:不涉及。 |
environments | 否 | Map<String,String> | 参数解释:训练作业环境变量。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
parameters | 否 | Array of Parameter objects | 参数解释:算法的运行参数。 约束限制:不涉及。 |
inputs | 否 | Array of Input objects | 参数解释:算法的数据输入。 约束限制:不涉及。 |
outputs | 否 | Array of Output objects | 参数解释:算法的数据输出。 约束限制:不涉及。 |
engine | 否 | engine object | 参数解释:算法的引擎。 约束限制:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
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 | 参数解释:国际化语种的描述信息。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数解释:数据输入通道名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
description | 否 | String | 参数解释:数据输入通道描述信息。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
local_dir | 否 | String | 参数解释:数据输入通道映射的容器本地路径。例如,“/home/ma-user/modelarts/inputs/data_url_0”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
access_method | 否 | String | 参数解释:数据输入通道路径(local_dir)的下发方式。 约束限制:不涉及。 取值范围: 默认取值:默认超参形式。 |
remote | 是 | InputDataInfo object | 参数解释:数据实际输入信息。 约束限制:枚举值: |
remote_constraint | 否 | Array of remote_constraint objects | 参数解释:数据输入约束。 约束限制:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
dataset | 否 | dataset object | 参数解释:数据输入信息为数据集。 约束限制:不涉及。 |
obs | 否 | obs object | 参数解释:数据输入输出信息为OBS方式。 约束限制:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
id | 是 | String | 参数解释:训练作业的数据集ID。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
version_id | 否 | String | 参数解释:训练作业的数据集版本ID。 约束限制:使用旧版数据集即service_type不为V3时必填。 取值范围:不涉及。 默认取值:不涉及。 |
service_type | 否 | String | 参数解释:数据集服务类型。 约束限制:不涉及。 取值范围:不涉及。 默认取值:取值为V3时表示使用的是资产服务提供的数据集,其他表示旧版数据集。 |
name | 否 | String | 参数解释:训练作业的数据集名称。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
obs_url | 是 | String | 参数解释:训练作业需要的数据集OBS路径URL。如:“/usr/data/”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
data_type | 否 | String | 参数解释:数据输入类型,包括数据存储位置、数据集两种方式。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
attributes | 否 | String | 参数解释:相关属性。 约束限制:不涉及。 取值范围: 数据输入为数据集时: 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数解释:数据输出通道名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
description | 否 | String | 参数解释:数据输出通道描述信息。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
local_dir | 否 | String | 参数解释:数据输出通道映射的容器本地路径。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
access_method | 否 | String | 参数解释:数据输出通道路径(local_dir)的下发方式。 约束限制:不涉及。 取值范围: 默认取值:默认超参形式。 |
remote | 是 | Remote object | 参数解释:数据实际输出信息。 约束限制:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
engine_id | 否 | String | 参数解释:算法选择的引擎规格ID。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
engine_name | 否 | String | 参数解释:算法选择的引擎规格名称。 约束限制:若填入engine_id则无需填写。 取值范围:不涉及。 默认取值:不涉及。 |
engine_version | 否 | String | 参数解释:算法选择的引擎规格版本。 约束限制:若填入engine_id则无需填写。 取值范围:不涉及。 默认取值:不涉及。 |
image_url | 否 | String | 参数解释:算法选择的自定义镜像地址。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
engine_id | 否 | String | 参数解释:异构作业引擎规格的ID。如“caffe-1.0.0-python2.7”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
engine_name | 否 | String | 参数解释:异构作业引擎规格的名称。如“Caffe”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
engine_version | 否 | String | 参数解释:异构作业引擎规格的版本。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
image_url | 否 | String | 参数解释:算法选择的自定义镜像地址。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
run_user | 否 | String | 参数解释:容器镜像启动用户,默认为1000,仅自定义镜像场景下支持配置。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数解释:数据输入通道名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
description | 否 | String | 参数解释:数据输入通道描述信息。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
local_dir | 否 | String | 参数解释:数据输入通道映射的容器本地路径。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
remote | 是 | remote object | 参数解释:数据实际输入信息。 约束限制:枚举值: |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
obs_url | 是 | String | 参数解释:训练作业需要的数据集OBS路径URL。如:“/usr/data/”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 参数解释:数据输出通道名称。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
description | 否 | String | 参数解释:数据输出通道描述信息。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
local_dir | 否 | String | 参数解释:数据输出通道映射的容器本地路径。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
remote | 是 | remote object | 参数解释:数据实际输出信息。 约束限制:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
flavor_id | 否 | String | 参数解释:训练作业选择的资源规格ID。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
node_count | 是 | Integer | 参数解释:训练作业选择的资源副本数。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
pool_id | 否 | String | 参数解释:训练任务选择的资源池ID。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
resource | 否 | SpecResource object | 参数解释:训练作业资源规格信息。 约束限制:flavor_id和pool_id+[flavor_id]方式二选一。 |
volumes | 否 | Array of SpecVolumes objects | 参数解释:训练作业挂载卷信息。 约束限制:不涉及。 |
log_export_path | 否 | LogExportPath object | 参数解释:训练作业日志输出信息。 约束限制:不涉及。 |
auto_stop | 否 | AutoStop object | 参数解释:训练作业的自动停止配置。 约束限制:不涉及。 |
schedule_policy | 否 | SchedulePolicy object | 参数解释:训练作业调度策略。 约束限制:不涉及。 |
log_export_config | 否 | LogExportConfig object | 参数解释:日志导出配置。 约束限制:不涉及。 |
notification | 否 | Notification object | 参数解释:训练事件的消息通知。 约束限制:不涉及。 |
custom_metrics | 否 | Array of CustomMetrics objects | 参数解释:指标采集配置。 |
output_model | 否 | OutputModel object | 参数解释:自定义训练作业产物输出信息。 |
asset_model | 否 | AssetModel object | 参数解释:自定义训练作业产物发布成模型的信息。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
flavor_id | 否 | String | 参数解释:训练作业资源规格id。 约束限制:不涉及。 取值范围:CPU规格专属资源池不支持指定flavor_id。GPU/Ascend规格专属资源池可选取值如下: 默认取值:不涉及。 |
node_count | 否 | Integer | 参数解释:资源池创建训练作业使用节点数。 约束限制:不涉及。 取值范围:不涉及。 默认取值:默认单节点。 |
pool_id | 否 | String | 参数解释:专属资源池id。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
pool_group_id | 否 | String | 参数解释:资源池联邦id。 约束限制:当kind为federated_pool_job时,该字段必填。 取值范围:不涉及。 默认取值:不涉及。 |
main_container_customized_flavor | 否 | 参数解释:自定义规格。 约束限制:不涉及。 取值范围:cpu核数与内存大于零,加速卡卡数大于等于零。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
cpu_core_num | 否 | Float | 参数解释:cpu核数。 取值范围:大于零。 |
mem_size | 否 | Float | 参数解释:内存大小。 取值范围:大于零。 |
accelerator_num | 否 | Float | 参数解释:加速卡卡数。 取值范围:大于等于零。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
nfs | 否 | Nfs object | 参数解释:训练作业nfs挂载卷信息。 约束限制:不涉及。 |
pfs | 否 | Pfs object | 参数解释:训练作业obsfs挂载卷信息。 约束限制:不涉及。 |
obs | 否 | Obs object | 参数解释:训练作业obs挂载卷信息。 约束限制:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
nfs_server_path | 否 | String | 参数解释:nfs服务端路径,如:“10.10.10.10:/example/path”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
local_path | 否 | String | 参数解释:挂载到训练容器中的路径,如:“/example/path”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
read_only | 否 | Boolean | 参数解释:nfs挂载卷在容器中是否只读。 约束限制:不涉及。 取值范围: 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
pfs_path | 否 | String | 参数解释:obsfs的地址。如:“/test-bucket/path”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
local_path | 否 | String | 参数解释:挂载到训练容器中的路径,如:“/example/path”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
obs_path | 否 | String | 参数解释:需要挂载的obs路径。如:“/test-bucket/path”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
local_path | 否 | String | 参数解释:挂载到训练容器中的路径,如:“/example/path”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
obs_url | 否 | String | 参数解释:训练作业日志保存的OBS地址,如:“obs://example/path”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
host_path | 否 | String | 参数解释:训练作业日志保存的宿主机的路径,如:“/example/path”。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
time_unit | 是 | String | 参数解释:时间单位。 约束限制:不涉及。 取值范围: 默认取值:不涉及。 |
duration | 是 | Integer | 参数解释:运行时长。 约束限制:不涉及。 取值范围:最小值为1。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
required_affinity | 否 | RequiredAffinity object | 参数解释:训练作业强制的亲和性。 约束限制:不涉及。 |
preferred_affinity | 否 | PreferredAffinity object | 参数解释:训练作业首选的亲和性。 约束限制:不涉及。 |
priority | 否 | Integer | 参数解释:训练作业优先级。 约束限制: 默认用户权限可选择优先级1和2,配置了“设置作业为高优先级权限”的用户可选择优先级1~3。 取值范围:0-3 默认取值:不涉及。 |
preemptible | 否 | Boolean | 参数解释:是否可以被抢占。 约束限制:不涉及。 取值范围: 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
affinity_type | 否 | String | 参数解释:亲和调度策略。 约束限制:不涉及。 取值范围: 默认取值:不涉及。 |
affinity_group_size | 否 | Integer | 参数解释:亲和组大小。 约束限制:affinity_type为hyperinstance时必填,系统会将affinity_group_size个task调度到一个超节点内组成亲和组。 用户向超节点资源池投递训练作业,如果未设置亲和组大小,系统会默认赋值为1。 取值范围:不涉及。 默认取值:默认值1。 |
node_affinity | 否 | NodeSelector object | 参数解释:节点亲和性。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
nodeSelectorTerms | 是 | Array of NodeSelectorTerm objects | 参数解释:必填项。节点选择器项的列表。这些项是“或”的关系。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
matchExpressions | 否 | Array of NodeSelectorRequirement objects | 参数解释:按节点标签列出的节点选择器要求。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
matchFields | 否 | Array of NodeSelectorRequirement objects | 参数解释:按节点字段列出的节点选择器要求。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
node_affinity | 否 | Array of PreferredSchedulingTerm objects | 参数解释:调度器会优先将Pod调度到满足该字段指定的亲和性表达式的节点上,但它也可能选择违反一个或多个表达式的节点。最优先选择的节点是权重总和最大的节点,即对于每个满足所有调度要求(资源请求、调度期间必需的亲和性表达式等)的节点,通过遍历该字段的元素并计算总和,如果节点匹配相应的匹配表达式,则将“权重”加到总和中;权重总和最高的节点即为最优先选择的节点。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
weight | 否 | Integer | 参数解释:与匹配相应 nodeSelectorTerm 相关的权重 约束限制:不涉及。 取值范围:范围为 1-100。 默认取值:不涉及。 |
preference | 否 | NodeSelectorTerm object | 参数解释:节点选择器项,与相应的权重相关联。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
version | 否 | String | 参数解释:日志版本号。 约束限制: 取值范围:v0、v1 默认取值:v0。 |
rotation_enabled | 否 | Boolean | 参数解释:是否开启日志分时段下载。 约束限制:不涉及。 取值范围: 默认取值:false。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
topic_urn | 否 | String | 参数解释:消息通知服务中所选主题的URN唯一资源标识。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
events | 否 | Array of strings | 参数解释:触发消息通知的训练事件。 约束限制:枚举值: |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
exec | 否 | Exec object | 参数解释:命令行方式采集指标。 |
http_get | 否 | HttpGet object | 参数解释:http方式采集指标。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
path | 否 | String | 参数解释: http获取指标的url路径,与下面的端口必须同时填或者不填。 取值范围: 不涉及。 |
port | 否 | Integer | 参数解释: http获取指标的端口,与上面的url路径必须同时填或者不填。 取值范围: 不涉及。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
obs_url | 是 | String | 参数解释:自定义训练作业产物保存的OBS地址,如:“obs://example/path”。 取值范围:不涉及。 |
local_path | 否 | String | 参数解释:自定义训练作业产物保存的宿主机的路径,如:“/example/path”。 取值范围:不涉及。 |
响应参数
状态码:201
参数 | 参数类型 | 描述 |
|---|---|---|
kind | String | 参数解释:训练作业类型。 取值范围: |
metadata | JobMetadataResponse object | 参数解释:训练作业元信息。 |
status | Status object | 参数解释:训练作业状态信息。 |
algorithm | JobAlgorithmResponse object | 参数解释:训练作业算法。 |
tasks | Array of TaskResponse objects | 参数解释:异构训练作业的任务列表。 |
spec | SpecResponse object | 参数解释:训练作业规格参数。 |
endpoints | JobEndpointsResp object | 参数解释:远程接入训练作业时需要的相关配置。 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 参数解释:训练作业ID,创建成功后由ModelArts生成返回,无需填写。 取值范围:不涉及。 |
name | String | 参数解释:训练作业名称。 取值范围:限制为1-64位只含数字、字母、下划线和中划线的名称。 |
workspace_id | String | 参数解释:指定作业所处的工作空间。 取值范围:不涉及。 |
description | String | 参数解释:对训练作业的描述。 取值范围:不涉及。 |
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)。 取值范围:不涉及。 |
xpu_start_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_before_downgrade是end_recover降级前所采取的容忍策略。 取值范围:取值范围同end_recover。 |
recover_records | Array of RecoverRecord objects | 参数解释:本次运行异常结束时采取的所有故障容忍策略详情。 |
参数 | 参数类型 | 描述 |
|---|---|---|
recover_start_at | Integer | 参数描述:本次故障容忍策略开始执行时间的unix时间戳,单位为秒(s),同时也是故障发生时间。 取值范围:不涉及。 |
recover_end_at | Integer | 参数描述:本次故障容忍策略结束时间的unix时间戳,单位为秒(s)。 取值范围:不涉及。 |
recover | String | 参数描述:本次故障容忍策略。 取值范围:枚举值如下: |
fault_scenario | String | 参数描述:本次故障场景。 取值范围:枚举值如下: |
reason | String | 参数描述:本次故障原因。 取值范围:不涉及。 |
related_task | String | 参数描述:引发本次运行结束的task worker ID(如worker-0)。 取值范围:不涉及。 |
recover_result | String | 参数描述:本次故障执行结果。 取值范围:枚举值如下: |
参数 | 参数类型 | 描述 |
|---|---|---|
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 ParameterResp objects | 参数解释:训练作业的运行参数。 |
policies | policies object | 参数解释:作业支持的策略。 |
inputs | Array of InputResp objects | 参数解释:训练作业的数据输入。 |
outputs | Array of OutputResp objects | 参数解释:训练作业的结果输出。 |
engine | JobEngineResp object | 参数解释:训练作业的引擎。使用算法管理的算法id或订阅算法subscription_id+item_version_id创建作业时,无需填写。 |
local_code_dir | String | 参数解释:算法的代码目录下载到训练容器内的本地路径。规则如下: 取值范围:不涉及。 |
working_dir | String | 参数解释:运行算法时所在的工作目录。规则: v1兼容模式下,当前字段不生效。 取值范围:不涉及。 |
environments | Array of Map<String,String> objects | 参数解释:训练作业的环境变量。格式:"key":"value",无需填写。 |
summary | SummaryResp object | 参数解释:可视化日志summary。 |
参数 | 参数类型 | 描述 |
|---|---|---|
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 | 参数解释:有效种类。 取值范围:枚举值如下: - Choice:枚举值 - Range:范围值 - None:无 |
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 AutoSearchAlgoConfigParameterResp objects | 参数解释:搜索算法参数。 |
参数 | 参数类型 | 描述 |
|---|---|---|
key | String | 参数解释:参数键。 取值范围:不涉及。 |
value | String | 参数解释:参数值。 取值范围:不涉及。 |
type | String | 参数解释:参数种类。 取值范围:枚举值如下: |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 参数解释:数据输入通道名称。 取值范围:不涉及。 |
description | String | 参数解释:数据输入通道描述信息。 取值范围:不涉及。 |
local_dir | String | 参数解释:数据输入通道映射的容器本地路径。例如,“/home/ma-user/modelarts/inputs/data_url_0”。 取值范围:不涉及。 |
access_method | String | 参数解释:数据输入通道路径(local_dir)的下发方式。 取值范围: |
remote | InputDataInfoResp object | 参数解释:数据实际输入信息。 |
remote_constraint | Array of remote_constraint objects | 参数解释:数据输入约束。 |
参数 | 参数类型 | 描述 |
|---|---|---|
dataset | dataset object | 参数解释:数据输入信息为数据集。 |
obs | obs object | 参数解释:数据输入输出信息为OBS方式。 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 参数解释:训练作业的数据集ID。 取值范围:不涉及。 |
version_id | String | 参数解释:训练作业的数据集版本ID。 约束限制:使用旧版数据集即service_type不为V3时必填。 取值范围:不涉及。 |
obs_url | String | 参数解释:训练作业需要的数据集OBS路径URL,ModelArts会通过数据集ID和数据集版本ID自动解析生成。如:“/usr/data/”。 取值范围:不涉及。 |
service_type | String | 参数解释:数据集服务类型。 约束限制:不涉及。 取值范围:不涉及。 默认取值:取值为V3时表示使用的是资产服务提供的数据集,其他表示旧版数据集。 |
name | String | 参数解释:训练作业的数据集名称。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
data_type | String | 参数解释:数据输入类型,包括数据存储位置、数据集两种方式。 约束限制:不涉及。 取值范围:不涉及。 默认取值:不涉及。 |
attributes | String | 参数解释:相关属性。 约束限制:不涉及。 取值范围: 数据输入为数据集时: 默认取值:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 参数解释:数据输出通道名称。 取值范围:不涉及。 |
description | String | 参数解释:数据输出通道描述信息。 取值范围:不涉及。 |
local_dir | String | 参数解释:数据输出通道映射的容器本地路径。 取值范围:不涉及。 |
access_method | String | 参数解释:数据输入通道路径(local_dir)的下发方式。 取值范围: |
remote | RemoteResp object | 参数解释:数据实际输出信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
engine_id | String | 参数解释:训练作业选择的引擎规格ID。 取值范围:不涉及。 |
engine_name | String | 参数解释:训练作业选择的引擎规格名称。 取值范围:不涉及。 |
engine_version | String | 参数解释:训练作业选择的引擎规格版本。 取值范围:不涉及。 |
image_url | String | 参数解释:训练作业选择的自定义镜像地址,地址从swr服务获取。 取值范围:不涉及。 |
install_sys_packages | Boolean | 参数解释:是否需要安装训练平台指定的 moxing 版本。 取值范围: |
参数 | 参数类型 | 描述 |
|---|---|---|
log_type | String | 参数解释:训练作业可视化日志类型,配置后训练作业可作为可视化作业数据源。 取值范围: |
log_dir | LogDirResp object | 参数解释:训练作业可视化日志输出。 |
data_sources | Array of DataSourceResp objects | 参数解释:可视化作业或训练作业调试模式的可视化日志输入。 |
参数 | 参数类型 | 描述 |
|---|---|---|
role | String | 参数解释:任务角色,该功能暂未支持。 取值范围:不涉及。 |
algorithm | TaskResponseAlgorithm object | 参数解释:算法管理算法配置。 |
task_resource | FlavorResponse object | 参数解释:训练作业、算法的规格信息。 |
log_export_path | log_export_path object | 参数解释:训练作业日志保存信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
code_dir | String | 参数解释:算法启动文件所在目录绝对路径。 取值范围:不涉及。 |
boot_file | String | 参数解释:算法启动文件绝对路径。 取值范围:不涉及。 |
inputs | AlgorithmInput object | 参数解释:算法输入通道信息。 |
outputs | AlgorithmOutput object | 参数解释:算法输出通道信息。 |
engine | AlgorithmEngine object | 参数解释:异构作业所依赖的引擎。 |
local_code_dir | String | 参数解释:算法的代码目录下载到训练容器内的本地路径。规则如下: 取值范围:不涉及。 |
working_dir | String | 参数解释:运行算法时所在的工作目录。规则:v1兼容模式下,当前字段不生效。 取值范围:不涉及。 |
environments | Map<String,String> | 参数解释:训练作业相关的环境变量。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 参数解释:数据输入通道名称。 取值范围:不涉及。 |
local_dir | String | 参数解释:数据输入输出通道映射的容器本地路径。 取值范围:不涉及。 |
remote | AlgorithmRemote object | 参数解释:数据实际输入信息,异构作业只支持OBS。 |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 参数解释:数据输出通道名称。 取值范围:不涉及。 |
local_dir | String | 参数解释:数据输出通道映射的容器本地路径。 取值范围:不涉及。 |
remote | RemoteResp 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 | 参数解释:算法选择的自定义镜像地址。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
pool_id | String | 参数解释:训练作业选择的资源池ID。 取值范围:不涉及。 |
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 JobVolumeResp objects | 参数解释:训练作业挂载卷信息。 |
log_export_path | LogExportPathResp object | 参数解释:训练作业日志输出信息。 |
schedule_policy | SchedulePolicyResp object | 参数解释:训练作业调度策略。 |
custom_metrics | Array of CustomMetrics objects | 参数解释:指标采集配置。 |
output_model | OutputModelResp object | 参数解释:自定义训练作业产物输出信息。 |
asset_model | AssetModelResp object | 参数解释:自定义训练作业产物发布成模型的信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
policy | String | 参数解释:训练作业资源规格模式。 取值范围: |
flavor_id | String | 参数解释:训练作业资源规格id。 取值范围:CPU规格专属资源池不支持指定flavor_id。GPU/Ascend规格专属资源池可选取值如下: |
flavor_name | String | 参数解释:使用flavor_id时,由ModelArts返回的只读规格名称。 取值范围:不涉及。 |
node_count | Integer | 参数解释:训练作业选择的资源副本数。 取值范围:不涉及。 |
pool_id | String | 参数解释:训练作业选择的资源池ID。 取值范围:不涉及。 |
pool_group_id | String | 参数解释:训练作业选择的资源池联邦ID。 取值范围:不涉及。 |
flavor_detail | FlavorDetail object | 参数解释:训练作业、算法的规格信息(该字段只有公共资源池存在)。 |
main_container_allocated_resources | 参数解释:训练作业训练容器实际到手的资源规格。 | |
main_container_customized_flavor | 参数解释:训练作业自定义规格。 取值范围:cpu核数与内存大于零,加速卡卡数大于等于零。 |
参数 | 参数类型 | 描述 |
|---|---|---|
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 | 参数解释:磁盘信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
unit_num | Integer | 参数解释:gpu卡数。 取值范围:不涉及。 |
product_name | String | 参数解释:产品名。 取值范围:不涉及。 |
memory | String | 参数解释:内存。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
unit_num | String | 参数解释:npu卡数。 取值范围:不涉及。 |
product_name | String | 参数解释:产品名。 取值范围:不涉及。 |
memory | String | 参数解释:内存。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
cpu_arch | String | 参数解释: cpu架构。 取值范围: 不涉及。 |
cpu_core_num | Float | 参数解释: 核数。 取值范围: 不涉及。 |
mem_size | Float | 参数解释: 内存信息。 取值范围: 不涉及。 |
accelerator_num | Float | 参数解释: 加速卡卡数。 取值范围: 不涉及。 |
accelerator_type | String | 参数解释: 加速卡类型。如:ascend-Snt9b,ascend-snt9c等 取值范围: 不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
cpu_core_num | Float | 参数解释:cpu核数。 取值范围:大于零。 |
mem_size | Float | 参数解释:内存大小。 取值范围:大于零。 |
accelerator_num | Float | 参数解释:加速卡卡数。 取值范围:大于等于零。 |
参数 | 参数类型 | 描述 |
|---|---|---|
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”。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
required_affinity | RequiredAffinityResp object | 参数解释:训练作业亲和要求。 |
priority | Integer | 参数解释:训练作业优先级。 取值范围:0-3 |
preemptible | Boolean | 参数解释:是否可以被抢占。 取值范围: |
参数 | 参数类型 | 描述 |
|---|---|---|
affinity_type | String | 参数解释:亲和调度策略。 取值范围: |
affinity_group_size | Integer | 参数解释:亲和组大小。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
path | String | 参数解释: http获取指标的url路径,与下面的端口必须同时填或者不填。 取值范围: 不涉及。 |
port | Integer | 参数解释: http获取指标的端口,与上面的url路径必须同时填或者不填。 取值范围: 不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
obs_url | String | 参数解释:自定义训练作业产物保存的OBS地址,如:“obs://example/path”。 取值范围:不涉及。 |
local_path | String | 参数解释:自定义训练作业产物保存的宿主机的路径,如:“/example/path”。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
id | String | 参数解释:模型id。 取值范围:不涉及。 |
name | String | 参数解释:模型名称。 取值范围:不涉及。 |
code | String | 参数解释:模型名称。 取值范围:不涉及。 |
version | String | 参数解释:模型发布版本。 取值范围:不涉及。 |
location | String | 参数解释:模型发布地址。 取值范围:不涉及。 |
desc | String | 参数解释:模型描述。 取值范围:不涉及。 |
series | String | 参数解释:模型品牌。 取值范围:不涉及。 |
type | String | 参数解释:模型类型。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
ssh | SSHResp object | 参数解释:SSH连接信息。 |
jupyter_lab | JupyterLab object | 参数解释:JupyterLab连接信息。 |
tensorboard | Tensorboard object | 参数解释:Tensorboard连接信息。 |
mindstudio_insight | MindStudioInsight object | 参数解释:MindStudio Insight连接信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
key_pair_names | Array of strings | 参数解释:SSH密钥对名称,可以在云服务器控制台(ECS)“密钥对”页面创建和查看。 取值范围:不涉及。 |
task_urls | Array of TaskUrls objects | 参数解释:SSH连接地址信息。 |
参数 | 参数类型 | 描述 |
|---|---|---|
url | String | 参数解释:训练作业的JupyterLab地址。 取值范围:不涉及。 |
token | String | 参数解释:训练作业的JupyterLab token。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
url | String | 参数解释:训练作业的Tensorboard地址。 取值范围:不涉及。 |
token | String | 参数解释:训练作业的Tensorboard token。 取值范围:不涉及。 |
参数 | 参数类型 | 描述 |
|---|---|---|
url | String | 参数解释:训练作业的MindStudio Insight地址。 取值范围:不涉及。 |
token | String | 参数解释:训练作业的MindStudio Insight token。 取值范围:不涉及。 |
状态码:400
参数 | 参数类型 | 描述 |
|---|---|---|
error_msg | String | 错误信息。 |
error_code | String | 错误码。 |
error_solution | String | 错误解决建议。 |
请求示例
创建免费规格的训练作业。设置作业名称为“TestModelArtsJob”,描述为“This is a ModelArts job”。算法依赖的是id为3f5d6706-7b67-408d-8ba0-ec08048c45ed的算法,该算法未定义inputs与outputs,规格选用的是gpu免费规格。
POST https://endpoint/v2/{project_id}/training-jobs { "kind" : "job", "metadata" : { "id" : "425b7087-83de-49ed-9e40-5bb642be956f", "name" : "TestModelArtsJob", "description" : "This is a ModelArts job", "create_time" : 1637045545982, "workspace_id" : "0", "user_name" : "" }, "algorithm" : { "id" : "3f5d6706-7b67-408d-8ba0-ec08048c45ed", "name" : "ttt-obs-gpu", "code_dir" : "/cn-north-4-rse/test/moxingtest-code/", "boot_file" : "/cn-north-4-rse/test/moxingtest-code/test_obs_gpu.py", "parameters" : [ { "name" : "input_dir", "description" : "", "i18n_description" : null, "value" : "s://cn-north-4-rse/test/moxingtest-dir/", "constraint" : { "type" : "String", "editable" : true, "required" : true, "sensitive" : false, "valid_type" : "None", "valid_range" : [ ] } }, { "name" : "input_file", "description" : "", "i18n_description" : null, "value" : "obs://cn-north-4-rse/test/moxingtest/", "constraint" : { "type" : "String", "editable" : true, "required" : true, "sensitive" : false, "valid_type" : "None", "valid_range" : [ ] } }, { "name" : "large_file_method", "description" : "", "i18n_description" : null, "value" : "1", "constraint" : { "type" : "Integer", "editable" : true, "required" : true, "sensitive" : false, "valid_type" : "None", "valid_range" : [ ] } } ], "engine" : { "engine_id" : "horovod-cp36-tf-1.16.2", "engine_name" : "Horovod", "engine_version" : "0.16.2-TF-1.13.1-python3.6" }, "policies" : { } }, "spec" : { "resource" : { "flavor_id" : "modelarts.p3.large.public.free", "node_count" : 1 }, "log_export_path" : { }, "custom_metrics" : [ { "http_get" : { "path" : "/raw_text", "port" : 10001 } } ] } }使用自定义镜像创建训练作业。设置作业名称为“TestModelArtsJob2”,描述为“This is a ModelArts job2”的自定义镜像训练作业。使用专属资源池和nfs挂载。
POST https://endpoint/v2/{project_id}/training-jobs { "kind" : "job", "metadata" : { "name" : "TestModelArtsJob2", "description" : "This is a ModelArts job2" }, "algorithm" : { "engine" : { "image_url" : "xxxxxxxx/fastseq:1.2" }, "command" : "cd /home/ma-user/ddp_demo && sh run_ddp.sh", "parameters" : [ ], "policies" : { "auto_search" : null }, "environments" : { "NCCL_DEBUG" : "INFO", "NCCL_IB_DISABLE" : "0" } }, "spec" : { "resource" : { "flavor_id" : "modelarts.pool.visual.xlarge", "node_count" : 1, "pool_id" : "poolfaf38d76" }, "log_export_path" : { "obs_url" : "/cn-north-4-training-test/limou/ddp-demo-log/" }, "volumes" : [ { "nfs" : { "nfs_server_path" : "192.168.0.82:/", "local_path" : "/home/ma-user/nfs/", "read_only" : false } } ] } }
响应示例
状态码:201
ok
{
"kind" : "job",
"metadata" : {
"id" : "425b7087-83de-49ed-9e40-5bb642be956f",
"name" : "TestModelArtsJob",
"description" : "This is a ModelArts job",
"create_time" : 1637045545982,
"workspace_id" : "0",
"user_name" : ""
},
"status" : {
"phase" : "Creating",
"secondary_phase" : "Creating",
"duration" : 0,
"start_time" : 0,
"node_count_metrics" : null,
"tasks" : [ "worker-0", "server-0" ]
},
"algorithm" : {
"id" : "3f5d6706-7b67-408d-8ba0-ec08048c45ed",
"name" : "ttt-obs-gpu",
"code_dir" : "/cn-north-4-rse/test/moxingtest-code/",
"boot_file" : "/cn-north-4-rse/test/moxingtest-code/test_obs_gpu.py",
"parameters" : [ {
"name" : "input_dir",
"description" : "",
"i18n_description" : null,
"value" : "s://cn-north-4-rse/test/moxingtest-dir/",
"constraint" : {
"type" : "String",
"editable" : true,
"required" : true,
"sensitive" : false,
"valid_type" : "None",
"valid_range" : [ ]
}
}, {
"name" : "input_file",
"description" : "",
"i18n_description" : null,
"value" : "obs://cn-north-4-rse/test/moxingtest/",
"constraint" : {
"type" : "String",
"editable" : true,
"required" : true,
"sensitive" : false,
"valid_type" : "None",
"valid_range" : [ ]
}
}, {
"name" : "large_file_method",
"description" : "",
"i18n_description" : null,
"value" : "1",
"constraint" : {
"type" : "Integer",
"editable" : true,
"required" : true,
"sensitive" : false,
"valid_type" : "None",
"valid_range" : [ ]
}
} ],
"engine" : {
"engine_id" : "horovod-cp36-tf-1.16.2",
"engine_name" : "Horovod",
"engine_version" : "0.16.2-TF-1.13.1-python3.6"
},
"policies" : { }
},
"spec" : {
"resource" : {
"policy" : "regular",
"flavor_id" : "modelarts.p3.large.public.free",
"flavor_name" : "Computing GPU(Vnt1) instance",
"node_count" : 1,
"flavor_detail" : {
"flavor_type" : "GPU",
"billing" : {
"code" : "modelarts.vm.gpu.free",
"unit_num" : 1
},
"flavor_info" : {
"cpu" : {
"arch" : "x86",
"core_num" : 8
},
"gpu" : {
"unit_num" : 1,
"product_name" : "GP-Vnt1",
"memory" : "32GB"
},
"memory" : {
"size" : 64,
"unit" : "GB"
}
}
},
"main_container_allocated_resources" : {
"cpu_arch" : "x86",
"cpu_core_num" : 5,
"mem_size" : 44,
"accelerator_num" : 1,
"accelerator_type" : "nvidia-v100-pcie32"
}
},
"log_export_path" : { },
"custom_metrics" : [ {
"exec" : {
"command" : [ "cat", "/a/b/c.prom" ]
}
}, {
"http_get" : {
"path" : "/raw_text",
"port" : 10001
}
} ]
}
} 状态码:400
通用的错误应答消息体格式;如下为id是3f5d6706-7b67-408d-8ba0-ec08048c45ee的算法未找到时的返回信息。
{
"error_msg" : "algorithm not found.",
"error_code" : "ModelArts.2755",
"error_solution" : "Check whether the training project information in the request is valid."
} 状态码
状态码 | 描述 |
|---|---|
201 | ok |
400 | 通用的错误应答消息体格式;如下为id是3f5d6706-7b67-408d-8ba0-ec08048c45ee的算法未找到时的返回信息。 |
错误码
请参见错误码。

