创建训练作业
功能介绍
创建训练作业。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/training-jobs
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
用户项目ID。获取方法请参见获取项目ID和名称。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
对训练作业的描述,默认为“NULL”,字符串的长度限制为[0, 256]。 |
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对环境变量。变量名应该仅包含字母、数字、下划线(),且以字母或下划线()开头。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
有效范围。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
搜索方向。 - max指定时表示指标值越大越好; - min指定时表示指标值越小越好。 |
regex |
否 |
String |
指标正则表达式。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
否 |
String |
超参名称。 |
param_type |
否 |
String |
参数类型。 - continuous:指定时表示这个超参是连续类型的。连续类型的超参在算法使用于训练作业时,控制台显示为输入框。 - discrete:指定时表示这个超参是离散类型的。离散类型的超参在算法使用于训练作业时,控制台显示为下拉选择框架。 |
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,则此参数无需填写。 |
engine_version |
否 |
String |
训练作业选择的引擎版本名称。如果已填写engine_id,则此参数无需填写。 |
image_url |
否 |
String |
训练作业选择的自定义镜像地址,地址从swr服务获取。 |
install_sys_packages |
否 |
Boolean |
是否需要安装训练平台指定的 moxing 版本。true为需要。只有填写了engine_name,engine_version,image_url参数时支持该设置。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
role |
否 |
String |
任务角色,该功能暂未支持。 |
algorithm |
否 |
algorithm object |
算法管理算法配置。 |
task_resource |
否 |
task_resource 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兼容模式下,当前字段不生效。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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”。 |
remote |
是 |
InputDataInfo object |
数据实际输入信息。枚举值:
|
remote_constraint |
否 |
Array of remote_constraint objects |
数据输入约束。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
dataset |
否 |
dataset object |
数据输入信息为数据集。 |
obs |
否 |
obs object |
数据输入输出信息为OBS方式。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
data_type |
否 |
String |
数据输入类型,包括数据存储位置、数据集两种方式。 |
attributes |
否 |
String |
数据输入为数据集时的相关属性。枚举值:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
数据输出通道名称。 |
description |
否 |
String |
数据输出通道描述信息。 |
local_dir |
否 |
String |
数据输出通道映射的容器本地路径。 |
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 |
算法选择的自定义镜像地址。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
数据输入通道名称。 |
description |
否 |
String |
数据输入通道描述信息。 |
local_dir |
否 |
String |
数据输入通道映射的容器本地路径。 |
remote |
是 |
remote object |
数据实际输入信息。枚举值:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
数据输出通道名称。 |
description |
否 |
String |
数据输出通道描述信息。 |
local_dir |
否 |
String |
数据输出通道映射的容器本地路径。 |
remote |
是 |
remote object |
数据实际输出信息。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
flavor_id |
否 |
String |
训练作业选择的资源规格ID。 |
node_count |
是 |
Integer |
训练作业选择的资源副本数。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
训练作业调度策略 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
flavor_id |
否 |
String |
训练作业资源规格id。CPU规格专属资源池不支持指定flavor_id。GPU/Ascend规格专属资源池可选取值如下:
|
node_count |
否 |
Integer |
资源池创建训练作业使用节点数。默认单节点。 |
pool_id |
否 |
String |
专属资源池id。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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_url |
否 |
String |
训练作业日志保存的OBS地址,如:“obs://example/path”。 |
host_path |
否 |
String |
训练作业日志保存的宿主机的路径,如:“/example/path”。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
required_affinity |
否 |
RequiredAffinity object |
训练作业亲和要求 |
priority |
否 |
Integer |
训练作业优先级 |
响应参数
状态码: 201
参数 |
参数类型 |
描述 |
---|---|---|
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连接地址信息。 |
状态码: 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" : { "name" : "TestModelArtsJob", "description" : "This is a ModelArts job" }, "algorithm" : { "id" : "3f5d6706-7b67-408d-8ba0-ec08048c45ed", "parameters" : [ { "name" : "input_dir", "value" : "obs://cn-north-4-rse/test/moxingtest-dir/" }, { "name" : "input_file", "value" : "obs://cn-north-4-rse/test/moxingtest/" }, { "name" : "large_file_method", "value" : "1" } ], "policies" : { "auto_search" : null }, "environments" : { } }, "spec" : { "resource" : { "flavor_id" : "modelarts.p3.large.public.free", "node_count" : 1 }, "log_export_path" : { "obs_url" : "" } } }
-
使用自定义镜像创建训练作业。设置作业名称为“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" } } } }, "log_export_path" : { } } }
状态码: 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的算法未找到时的返回信息。 |
错误码
请参见错误码。