更新时间:2025-07-28 GMT+08:00
分享

更新算法

功能介绍

更新算法。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

PUT /v2/{project_id}/algorithms/{algorithm_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:用户项目ID。获取方法请参见获取项目ID和名称

约束限制:1 - 64字符,字母、数字和中划线。

取值范围:不涉及。

默认取值:不涉及。

algorithm_id

String

参数解释:算法ID。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

请求参数

表2 请求Body参数

参数

是否必选

参数类型

描述

metadata

AlgorithmMetadata object

参数解释:算法的元数据,描述算法基本信息。

约束限制:不涉及。

job_config

AlgorithmJobConfig object

参数解释:算法配置信息,如启动文件等。

约束限制:不涉及。

resource_requirements

Array of ResourceRequirement objects

参数解释:算法资源约束。可不设置。设置后,在算法使用于训练作业时,控制台会过滤可用的公共资源池。

约束限制:不涉及。

advanced_config

AlgorithmAdvancedConfig object

参数解释:算法高级策略:

  • auto_search

约束限制:不涉及。

表3 AlgorithmMetadata

参数

是否必选

参数类型

描述

id

Integer

参数解释:算法uuid,创建算法时无需填写。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

name

String

参数解释:算法名称。

约束限制:限制为1-64位只含数字、字母、下划线和中划线的名称。

取值范围:不涉及。

默认取值:不涉及。

description

String

参数解释:对算法的描述。

约束限制:字符串的长度限制为[0, 256]。

取值范围:不涉及。

默认取值:默认为“NULL”。

workspace_id

String

参数解释:指定算法所处的工作空间。

约束限制:不涉及。

取值范围:不涉及。

默认取值:默认值为“0”。“0” 为默认的工作空间。

ai_project

String

参数解释:指定算法所属的ai项目。ai项目已下线,无需关注。

约束限制:不涉及。

取值范围:不涉及。

默认取值:默认值为"default-ai-project"。

表4 AlgorithmJobConfig

参数

是否必选

参数类型

描述

code_dir

String

参数解释:算法的代码目录。如:“/usr/app/”。

约束限制:应与boot_file一同出现。

取值范围:不涉及。

默认取值:不涉及。

boot_file

String

参数解释:算法的代码启动文件,需要在代码目录下。如:“/usr/app/boot.py”。

约束限制:应与code_dir一同出现。

取值范围:不涉及。

默认取值:不涉及。

command

String

参数解释:自定义镜像算法的容器启动命令。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

parameters

Array of Parameters objects

参数解释:算法的运行参数。

约束限制:不涉及。

inputs

Array of AlgorithmCreateInput objects

参数解释:算法的数据输入。

约束限制:不涉及。

outputs

Array of AlgorithmCreateOutput objects

参数解释:算法的数据输出。

约束限制:不涉及。

engine

AlgorithmCreateEngine object

参数解释:算法的引擎。

约束限制:不涉及。

parameters_customization

Boolean

参数解释:算法是否允许创建训练作业时自定义超参。

约束限制:不涉及。

取值范围

  • true:允许

  • false:不允许

默认取值:不涉及。

表5 Parameters

参数

是否必选

参数类型

描述

name

String

参数解释:参数名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

value

String

参数解释:参数值。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

description

String

参数解释:参数描述信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

constraint

ParametersConstraint object

参数解释:参数属性。

约束限制:不涉及。

i18n_description

I18nDescription object

参数解释:国际化描述。

约束限制:不涉及。

表6 ParametersConstraint

参数

是否必选

参数类型

描述

type

String

参数解释:参数种类。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

editable

Boolean

参数解释:是否可编辑。

约束限制:不涉及。

取值范围

  • true:可编辑

  • false:不可编辑

默认取值:不涉及。

required

Boolean

参数解释:是否必须。

约束限制:不涉及。

取值范围

  • true:必须

  • false:非必须

默认取值:不涉及。

sensitive

Boolean

参数解释:是否敏感。该功能暂未实现。

约束限制:不涉及。

取值范围

  • true:敏感

  • false:不敏感

默认取值:不涉及。

valid_type

String

参数解释:有效种类。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

valid_range

Array of strings

参数解释:有效范围。

约束限制:不涉及。

表7 I18nDescription

参数

是否必选

参数类型

描述

language

String

参数解释:国际语种。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

description

String

参数解释:描述信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表8 AlgorithmCreateInput

参数

是否必选

参数类型

描述

name

String

参数解释:数据输入通道名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

description

String

参数解释:数据输入通道描述信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

remote_constraints

Array of RemoteConstraint objects

参数解释:数据输入约束。

约束限制:不涉及。

表9 RemoteConstraint

参数

是否必选

参数类型

描述

data_type

String

参数解释:数据输入类型,支持数据存储位置(OBS)、ModelArts数据集两种方式。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

attributes

Array of Map<String,String> objects

参数解释:数据输入为数据集时的相关属性。枚举值:

  • data_format:数据格式

  • data_segmentation:数据切分方式

  • dataset_type:标注类型

约束限制:不涉及。

表10 AlgorithmCreateOutput

参数

是否必选

参数类型

描述

name

String

参数解释:数据输出通道名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

description

String

参数解释:数据输出通道描述信息。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表11 AlgorithmCreateEngine

参数

是否必选

参数类型

描述

engine_id

String

参数解释:算法选择的引擎规格ID。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

engine_name

String

参数解释:算法选择的引擎版本名称。

约束限制:若填入engine_id则无需填写。

取值范围:不涉及。

默认取值:不涉及。

engine_version

String

参数解释:算法选择的引擎版本名称。

约束限制:若填入engine_id则无需填写。

取值范围:不涉及。

默认取值:不涉及。

image_url

String

参数解释:算法选择的自定义镜像地址。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表12 ResourceRequirement

参数

是否必选

参数类型

描述

key

String

参数解释:资源约束。

约束限制:不涉及。

取值范围:可选键值如:

  • flavor_type(资源类型),对应值可选择CPU、GPU或Ascend;

  • device_distributed_mode(是否支持多卡训练),对应值可选择multiple(支持)、singular(不支持);

  • host_distributed_mode(是否支持分布式训练),对应值可选择multiple(支持)、singular(不支持)。

默认取值:不涉及。

values

Array of strings

参数解释:资源约束键对应值。

约束限制:不涉及。

operator

String

参数解释:键与值关系。

约束限制:当前只支持in。例如flavor_type in [CPU,GPU]。

取值范围:不涉及。

默认取值:不涉及。

表13 AlgorithmAdvancedConfig

参数

是否必选

参数类型

描述

auto_search

AutoSearch object

参数解释:超参搜索策略。

约束限制:不涉及。

表14 AutoSearch

参数

是否必选

参数类型

描述

skip_search_params

String

参数解释:需要排除的超参组合。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

reward_attrs

Array of RewardAttrs objects

参数解释:搜索指标列表。

约束限制:不涉及。

search_params

Array of SearchParams objects

参数解释:搜索参数。

约束限制:不涉及。

algo_configs

Array of AlgoConfigs objects

参数解释:搜索算法配置。

约束限制:不涉及。

表15 RewardAttrs

参数

是否必选

参数类型

描述

name

String

参数解释:指标名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

mode

String

参数解释:搜索方向。

约束限制:不涉及。

取值范围

  • max:表示指标值越大越好

  • min:表示指标值越小越好

默认取值:不涉及。

regex

String

参数解释:指标正则表达式。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

表16 SearchParams

参数

是否必选

参数类型

描述

name

String

参数解释:超参名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

param_type

String

参数解释:参数类型。

约束限制:不涉及。

取值范围

  • continuous:表示这个超参是连续类型的。连续类型的超参在算法使用于训练作业时,控制台显示为输入框

  • discrete:表示这个超参是离散类型的。离散类型的超参在算法使用于训练作业时,控制台显示为下拉选择框架

默认取值:不涉及。

lower_bound

String

参数解释:超参下界。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

upper_bound

String

参数解释:超参上界。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

discrete_points_num

String

参数解释:连续型超参离散化取值个数。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

discrete_values

Array of strings

参数解释:离散型超参的取值列表。

约束限制:不涉及。

表17 AlgoConfigs

参数

是否必选

参数类型

描述

name

String

参数解释:搜索算法名称。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

params

Array of AutoSearchAlgoConfigParameter objects

参数解释:搜索算法参数。

约束限制:不涉及。

表18 AutoSearchAlgoConfigParameter

参数

是否必选

参数类型

描述

key

String

参数解释:参数键。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

value

String

参数解释:参数值。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

type

String

参数解释:参数种类。

约束限制:不涉及。

取值范围:不涉及。

默认取值:不涉及。

响应参数

状态码:201

表19 响应Body参数

参数

参数类型

描述

metadata

metadata object

参数解释:算法的元数据,描述算法基本信息。

job_config

job_config object

参数解释:算法配置信息,如启动文件等。

resource_requirements

Array of resource_requirements objects

参数解释:算法资源约束,可不设置。设置后,在算法使用于训练作业时,控制台会过滤可用的公共资源池。

advanced_config

advanced_config object

参数解释:算法高级策略:

  • auto_search

表20 metadata

参数

参数类型

描述

id

Integer

参数解释:算法uuid,创建算法时无需填写。

取值范围:不涉及。

name

String

参数解释:算法名称。限制为1-64位只含数字、字母、下划线和中划线的名称。

取值范围:不涉及。

description

String

参数解释:对算法的描述,默认为“NULL”,字符串的长度限制为[0, 256]。

取值范围:不涉及。

workspace_id

String

参数解释:指定算法所处的工作空间,默认值为“0”。“0” 为默认的工作空间。

取值范围:不涉及。

ai_project

String

参数解释:指定算法所属的ai项目,默认值为"default-ai-project"。ai项目已下线,无需关注。

取值范围:不涉及。

user_name

String

参数解释:用户名称。

取值范围:不涉及。

domain_id

String

参数解释:用户的domainID。

取值范围:不涉及。

source

String

参数解释:算法来源类型。

取值范围:不涉及。

api_version

String

参数解释:算法api版本,标识新旧版。

取值范围:不涉及。

is_valid

String

参数解释:算法可用性。

取值范围:不涉及。

state

String

参数解释:算法状态。

取值范围:不涉及。

tags

Array of Map<String,String> objects

参数解释:算法标签。

attr_list

Array of strings

参数解释:算法属性列表。

version_num

Integer

参数解释:算法版本数量,默认为0。

取值范围:不涉及。

size

Integer

参数解释:算法大小。

取值范围:不涉及。

create_time

Long

参数解释:算法创建时间戳。

取值范围:不涉及。

update_time

Long

参数解释:算法更新时间戳。

取值范围:不涉及。

表21 job_config

参数

参数类型

描述

code_dir

String

参数解释:算法的代码目录。如:“/usr/app/”。应与boot_file一同出现。

取值范围:不涉及。

boot_file

String

参数解释:算法的代码启动文件,需要在代码目录下。如:“/usr/app/boot.py”。应与code_dir一同出现。

取值范围:不涉及。

command

String

参数解释:自定义镜像算法的容器启动命令。

取值范围:不涉及。

parameters

Array of ParameterResp objects

参数解释:算法的运行参数。

inputs

Array of inputs objects

参数解释:算法的数据输入。

outputs

Array of outputs objects

参数解释:算法的数据输出。

engine

engine object

参数解释:算法的引擎。

code_tree

Array of code_tree objects

参数解释:算法的目录结构树。

parameters_customization

Boolean

参数解释:算法是否允许创建训练作业时自定义超参。

取值范围

  • true:允许

  • false:不允许

表22 ParameterResp

参数

参数类型

描述

name

String

参数解释:参数名称。

取值范围:不涉及。

value

String

参数解释:参数值。

取值范围:不涉及。

description

String

参数解释:参数描述信息。

取值范围:不涉及。

constraint

constraint object

参数解释:参数属性。

i18n_description

i18n_description object

参数解释:国际化描述。

表23 constraint

参数

参数类型

描述

type

String

参数解释:参数种类。

取值范围:不涉及。

editable

Boolean

参数解释:是否可编辑。

取值范围

  • true:可编辑

  • false:不可编辑

required

Boolean

参数解释:是否必须。

取值范围

  • true:必须

  • false:非必须

sensitive

Boolean

参数解释:是否敏感。该功能暂未实现。

取值范围

  • true:敏感

  • false:不敏感

valid_type

String

参数解释:有效种类。

取值范围:不涉及。

valid_range

Array of strings

参数解释:有效范围。

表24 i18n_description

参数

参数类型

描述

language

String

参数解释:国际语种。可选值如下:

  • zh-cn(中文)

  • en-us(英文)

取值范围:不涉及。

description

String

参数解释:国际化语种的描述信息。

取值范围:不涉及。

表25 inputs

参数

参数类型

描述

name

String

参数解释:数据输入通道名称。

取值范围:不涉及。

description

String

参数解释:数据输入通道描述信息。

取值范围:不涉及。

remote_constraints

Array of remote_constraints objects

参数解释:数据输入约束。

表26 remote_constraints

参数

参数类型

描述

data_type

String

参数解释:数据输入类型,包括数据存储位置、数据集两种方式。

取值范围:不涉及。

attributes

Array of Map<String,String> objects

参数解释:数据输入为数据集时的相关属性。枚举值:

  • data_format数据格式

  • data_segmentation数据切分方式

  • dataset_type标注类型

表27 outputs

参数

参数类型

描述

name

String

参数解释:数据输出通道名称。

取值范围:不涉及。

description

String

参数解释:数据输出通道描述信息。

取值范围:不涉及。

表28 engine

参数

参数类型

描述

engine_id

String

参数解释:算法选择的引擎规格ID。

取值范围:不涉及。

engine_name

String

参数解释:算法选择的引擎版本名称。若填入engine_id则无需填写。

取值范围:不涉及。

engine_version

String

参数解释:算法选择的引擎版本名称。若填入engine_id则无需填写。

取值范围:不涉及。

image_url

String

参数解释:算法选择的自定义镜像地址。

取值范围:不涉及。

表29 code_tree

参数

参数类型

描述

name

String

参数解释:算法目录树当前层级目录名。

取值范围:不涉及。

children

Object

参数解释:算法目录树当前层级目录下子文件和子目录。

表30 resource_requirements

参数

参数类型

描述

key

String

参数解释:资源约束。

取值范围:可选值如下:

  • 资源类型(flavor_type),对应值可选择CPU、GPU或Ascend

  • 是否支持多卡训练(device_distributed_mode),对应值可选择支持(multiple)、不支持(singular)

  • 是否支持分布式训练(host_distributed_mode),对应值可选择支持(multiple)、不支持(singular)

value

Array of strings

参数解释:资源约束键对应值。

operator

String

参数解释:键与值关系,当前只支持in。例如flavor_type in [CPU,GPU]。

取值范围:不涉及。

表31 advanced_config

参数

参数类型

描述

auto_search

auto_search object

参数解释:超参搜索策略。

表33 reward_attrs

参数

参数类型

描述

name

String

参数解释:指标名称。

取值范围:不涉及。

mode

String

参数解释:搜索方向。

取值范围

  • max:表示指标值越大越好

  • min:表示指标值越小越好

regex

String

参数解释:指标正则表达式。

取值范围:不涉及。

表34 search_params

参数

参数类型

描述

name

String

参数解释:超参名称。

取值范围:不涉及。

param_type

String

参数解释:参数类型。

取值范围

  • continuous:指定时表示这个超参是连续类型的。连续类型的超参在算法使用于训练作业时,控制台显示为输入框

  • discrete:指定时表示这个超参是离散类型的。离散类型的超参在算法使用于训练作业时,控制台显示为下拉选择框架

lower_bound

String

参数解释:超参下界。

取值范围:不涉及。

upper_bound

String

参数解释:超参上界。

取值范围:不涉及。

discrete_points_num

String

参数解释:连续型超参离散化取值个数。

取值范围:不涉及。

discrete_values

String

参数解释:离散型超参的取值列表。

取值范围:不涉及。

表35 algo_configs

参数

参数类型

描述

name

String

参数解释:搜索算法名称。

取值范围:不涉及。

params

Array of AutoSearchAlgoConfigParameterResp objects

参数解释:搜索算法参数。

表36 AutoSearchAlgoConfigParameterResp

参数

参数类型

描述

key

String

参数解释:参数键。

取值范围:不涉及。

value

String

参数解释:参数值。

取值范围:不涉及。

type

String

参数解释:参数种类。

取值范围:不涉及。

请求示例

如下以修改uuid为2e5451fe-913f-4492-821a-2981031382f7的算法为例。

PUT https://endpoint/v2/{project_id}/algorithms/2e5451fe-913f-4492-821a-2981031382f7

{
  "metadata" : {
    "name" : "TestModelArtsalgorithm",
    "description" : "This is a ModelArts algorithm modified"
  },
  "job_config" : {
    "code_dir" : "/algo-test/pytorch/work1/code/",
    "boot_file" : "/algo-test/pytorch/work1/code/test-pytorch.py",
    "parameters" : [ {
      "name" : "test-parameter",
      "value" : "10",
      "constraint" : {
        "type" : "String",
        "editable" : true,
        "required" : false,
        "sensitive" : false,
        "valid_type" : "None",
        "valid_range" : [ ]
      }
    } ],
    "parameters_customization" : true,
    "inputs" : [ {
      "name" : "data_url",
      "description" : "data source."
    } ],
    "outputs" : [ {
      "name" : "train_url",
      "description" : "model output."
    } ],
    "engine" : {
      "engine_name" : "PyTorch",
      "engine_version" : "PyTorch-1.3.0-python3.6"
    }
  }
}

响应示例

状态码:201

ok

{
  "metadata" : {
    "id" : "2e5451fe-913f-4492-821a-2981031382f7",
    "name" : "TestModelArtsalgorithm",
    "description" : "This is a ModelArts algorithm modified",
    "create_time" : 1636600721742,
    "workspace_id" : "0",
    "ai_project" : "default-ai-project",
    "user_name" : "",
    "domain_id" : "xxxxxxxxxxxxxxxxxxxxxxxxxx",
    "source" : "custom",
    "api_version" : "",
    "is_valid" : true,
    "state" : "",
    "size" : 4791,
    "tags" : null,
    "attr_list" : null,
    "version_num" : 0,
    "update_time" : 0
  },
  "job_config" : {
    "code_dir" : "/algo-test/pytorch/work1/code/",
    "boot_file" : "/algo-test/pytorch/work1/code/test-pytorch.py",
    "command" : "",
    "parameters" : [ {
      "name" : "test-parameter",
      "description" : "",
      "i18n_description" : null,
      "value" : "10",
      "constraint" : {
        "type" : "String",
        "editable" : true,
        "required" : false,
        "sensitive" : false,
        "valid_type" : "None",
        "valid_range" : [ ]
      }
    } ],
    "parameters_customization" : true,
    "inputs" : [ {
      "name" : "data_url",
      "description" : "name to translate"
    } ],
    "outputs" : [ {
      "name" : "train_url",
      "description" : "name to translate"
    } ],
    "engine" : {
      "engine_id" : "pytorch-cp36-1.3.0",
      "engine_name" : "PyTorch",
      "engine_version" : "PyTorch-1.3.0-python3.6"
    },
    "code_tree" : {
      "name" : "code/",
      "children" : [ {
        "name" : "test-pytorch.py"
      } ]
    }
  },
  "resource_requirements" : null,
  "advanced_config" : { }
}

状态码

状态码

描述

201

ok

错误码

请参见错误码

相关文档