Querying Algorithm Details

Function

This API is used to query a specified algorithm based on the algorithm ID.

Debugging

You can debug this API through automatic authentication in or use the SDK sample code generated by API Explorer.

URI

GET /v2/{project_id}/algorithms/{algorithm_id}

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For details, see Obtaining a Project ID and Name.

algorithm_id

Yes

String

Algorithm ID.

Request Parameters

None

Response Parameters

Status code: 200

Table 2 Response body parameters

Parameter

Type

Description

metadata

metadata object

Algorithm metadata, which describes basic algorithm information.

job_config

job_config object

Algorithm configuration, such as the boot file.

resource_requirements

Array of resource_requirements objects

Algorithm resource constraint. You can disable this function by not setting this parameter.

advanced_config

advanced_config object

Advanced algorithm configuration. Currently, autosearch is supported.

Table 3 metadata

Parameter

Type

Description

id

Integer

Algorithm UUID. You do not need to set this parameter when creating an algorithm.

name

String

Algorithm name. The value must contain 1 to 64 characters consisting of only digits, letters, underscores (_), and hyphens (-).

description

String

Algorithm description, which consists of 0 to 256 characters. The default value is NULL.

workspace_id

String

Workspace where a specified algorithm is located. The default value is 0.

ai_project

String

AI project to which a specified algorithm belongs. The default value is default-ai-project.

user_name

String

Username.

domain_id

String

Domain ID of a user.

source

String

Algorithm source.

api_version

String

Algorithm API version, which identifies the old and new ones.

is_valid

String

Algorithm availability.

state

String

Algorithm state.

tags

Array of Map<String,String> objects

Algorithm tags.

attr_list

Array of strings

Algorithm attribute list.

version_num

Integer

Number of algorithm versions. The default value is 0.

size

Integer

Algorithm size.

create_time

Long

Timestamp when the algorithm is created.

update_time

Long

Timestamp when the algorithm is updated.

Table 4 job_config

Parameter

Type

Description

code_dir

String

Algorithm code directory, for example, /usr/app/. This parameter must be used together with boot_file.

boot_file

String

Code boot file of the algorithm, which must be stored in the code directory, for example, /usr/app/boot.py. This parameter must be used with code_dir.

command

String

Container startup command of a custom image algorithm.

parameters

Array of Parameter objects

Running parameter of an algorithm.

inputs

Array of inputs objects

Data input of an algorithm.

outputs

Array of outputs objects

Data output of an algorithm.

engine

engine object

Algorithm engine.

code_tree

Array of code_tree objects

Algorithm directory tree

parameters_customization

Boolean

Whether the algorithm allows hyperparameter customization during training job creation.

Table 5 Parameter

Parameter

Type

Description

name

String

Parameter name.

value

String

Parameter value.

description

String

Parameter description.

constraint

constraint object

Parameter constraint.

i18n_description

i18n_description object

Internationalization description.

Table 6 constraint

Parameter

Type

Description

type

String

Parameter type.

editable

Boolean

Whether the parameter is editable.

required

Boolean

Whether the parameter is mandatory.

sensitive

Boolean

Whether the parameter is sensitive.

valid_type

String

Valid type.

valid_range

Array of strings

Valid range.

Table 7 i18n_description

Parameter

Type

Description

language

String

Internationalization language.

description

String

Description.

Table 8 inputs

Parameter

Type

Description

name

String

Name of the data input channel.

description

String

Description of the data input channel.

remote_constraints

Array of remote_constraints objects

Data input constraint.

Table 9 remote_constraints

Parameter

Type

Description

data_type

String

Data input type, including the data storage location and dataset.

attributes

Array of Map<String,String> objects

Attributes if a dataset is used as the data input. Options:

  • data_format: Data format

  • data_segmentation: Data segmentation

  • dataset_type: Labeling type

Table 10 outputs

Parameter

Type

Description

name

String

Name of the data output channel.

description

String

Description of the data output channel.

Table 11 engine

Parameter

Type

Description

engine_id

String

Engine ID selected for an algorithm.

engine_name

String

Engine version name selected for an algorithm. If engine_id is specified, leave this parameter blank.

engine_version

String

Engine version name selected for an algorithm. If engine_id is specified, leave this parameter blank.

image_url

String

Custom image URL selected by an algorithm.

Table 12 code_tree

Parameter

Type

Description

name

String

Name of the current directory in the algorithm directory tree.

children

Object

Subfiles and subdirectories in the current directory of the algorithm directory tree.

Table 13 resource_requirements

Parameter

Type

Description

key

String

Resource constraints. Options:

  • flavor_type: flavor type, which can be CPU or GPU.

  • device_distributed_mode: whether to support multi-card training. The value can be multiple (supported) or singular (not supported).

  • host_distributed_mode: whether to support distributed training. The value can be multiple (supported) or singular (not supported).

value

Array of strings

Value of the resource constraint key.

operator

String

Relationship between keys and values. Currently, only in is supported. For example: flavor_type in [CPU,GPU].

Table 14 advanced_config

Parameter

Type

Description

auto_search

auto_search object

Hyperparameter search policy.

Table 15 auto_search

Parameter

Type

Description

skip_search_params

String

Hyperparameter parameters that need to be skipped.

reward_attrs

Array of reward_attrs objects

List of search metrics.

search_params

Array of search_params objects

Search parameters.

algo_configs

Array of algo_configs objects

Search algorithm configurations.

Table 16 reward_attrs

Parameter

Type

Description

name

String

Metric name.

mode

String

Search direction.

  • max: A larger metric value indicates better performance.

  • min: A smaller metric value indicates better performance.

regex

String

Regular expression of a metric.

Table 17 search_params

Parameter

Type

Description

name

String

Hyperparameter name.

param_type

String

Parameter type.

  • continuous: The hyperparameter is of the continuous type.

  • discrete: The hyperparameter is of the discrete type.

lower_bound

String

Lower bound of the hyperparameter.

upper_bound

String

Upper bound of the hyperparameter.

discrete_points_num

String

Number of discrete points of a continuous hyperparameter.

discrete_values

String

List of discrete hyperparameter values.

Table 18 algo_configs

Parameter

Type

Description

name

String

Name of the search algorithm.

params

Array of AutoSearchAlgoConfigParameter objects

Search algorithm parameters.

Table 19 AutoSearchAlgoConfigParameter

Parameter

Type

Description

key

String

Parameter key.

value

String

Parameter value.

type

String

Parameter type.

Example Requests

The following shows how to query the algorithm whose UUID is 2e5451fe-913f-4492-821a-2981031382f7.

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

Example Responses

Status code: 200

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" : { }
}

Status Codes

Status Code

Description

200

ok

Error Codes

See Error Codes.