更新时间:2025-02-11 gmt 08:00

创建算法-j9九游会登录

功能介绍

创建一个算法。

调试

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

uri

post /v2/{project_id}/algorithms

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

string

用户项目id。获取方法请参见获取项目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

对算法的描述,默认为“null”,字符串的长度限制为[0, 256]。

workspace_id

否

string

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

ai_project

否

string

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

表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

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

表5 parameters

参数

是否必选

参数类型

描述

name

否

string

参数名称。

value

否

string

参数值。

description

否

string

参数描述信息。

constraint

否

parametersconstraint object

参数属性。

i18n_description

否

i18ndescription object

国际化描述。

表6 parametersconstraint

参数

是否必选

参数类型

描述

type

否

string

参数种类。

editable

否

boolean

是否可编辑。

required

否

boolean

是否必须。

sensitive

否

boolean

是否敏感。该功能暂未实现。

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 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 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 parameter objects

算法的运行参数。

inputs

array of inputs objects

算法的数据输入。

outputs

array of outputs objects

算法的数据输出。

engine

engine object

算法的引擎。

code_tree

array of code_tree objects

算法的目录结构树。

parameters_customization

boolean

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

表22 parameter

参数

参数类型

描述

name

string

参数名称。

value

string

参数值。

description

string

参数描述信息。

constraint

constraint object

参数属性。

i18n_description

i18n_description object

国际化描述。

表23 constraint

参数

参数类型

描述

type

string

参数种类。

editable

boolean

是否可编辑。

required

boolean

是否必须。

sensitive

boolean

是否敏感。该功能暂未实现。

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 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 autosearchalgoconfigparameter objects

搜索算法参数。

表36 autosearchalgoconfigparameter

参数

参数类型

描述

key

string

参数键。

value

string

参数值。

type

string

参数种类。

请求示例

创建算法。设置算法名称为“testmodelartsalgorithm”,描述为“this is a modelarts algorithm”。

post https://endpoint/v2/{project_id}/algorithms
{
  "metadata" : {
    "name" : "testmodelartsalgorithm",
    "description" : "this is a modelarts algorithm"
  },
  "advanced_config" : {
    "auto_search" : {
      "algo_configs" : [ {
        "name" : "bayes_opt_search",
        "params" : [ {
          "key" : "kind",
          "value" : "ucb",
          "type" : "string"
        }, {
          "key" : "kappa",
          "value" : "2.5",
          "type" : "float"
        }, {
          "key" : "xi",
          "value" : "0.0",
          "type" : "float"
        }, {
          "key" : "num_samples",
          "value" : "20",
          "type" : "integer"
        }, {
          "key" : "seed",
          "value" : "1",
          "type" : "integer"
        } ]
      } ],
      "reward_attrs" : [ {
        "name" : "max_search",
        "mode" : "max",
        "regex" : "10.0"
      } ],
      "search_params" : [ {
        "name" : "test_search",
        "lower_bound" : "1",
        "upper_bound" : "10"
      } ]
    }
  },
  "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",
    "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

错误码

请参见。

相关文档

网站地图