Modifying an Algorithm¶
Function¶
This API is used to modify an algorithm.
URI¶
PUT /v2/{project_id}/algorithms/{algorithm_id}
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¶
Parameter | Mandatory | Type | Description |
---|---|---|---|
metadata | No | metadata object | Algorithm metadata, which describes basic algorithm information. |
job_config | No | job_config object | Algorithm configuration, such as the boot file. |
resource_requirements | No | Array of resource_requirements objects | Algorithm resource constraints. This parameter is optional. After this parameter is set, the console filters available public resource pools when the algorithm is used in training jobs. |
advanced_config | No | advanced_config object | Advanced algorithm policy:
|
Parameter | Mandatory | Type | Description |
---|---|---|---|
id | No | Integer | Algorithm UUID. You do not need to set this parameter when creating an algorithm. |
name | Yes | String | Algorithm name. The value must contain 1 to 64 characters consisting of only digits, letters, underscores (_), and hyphens (-). |
description | No | String | Description of the algorithm. The value is a string of [0, 256] characters. The default value is NULL. |
workspace_id | No | String | Workspace where a specified algorithm is located. The default value is 0. The value 0 indicates the default workspace. |
ai_project | No | String | AI project to which a specified algorithm belongs. The default value is default-ai-project. The AI project has been brought offline. Ignore it. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
code_dir | No | String | Algorithm code directory, for example, /usr/app/. This parameter must be used together with boot_file. |
boot_file | No | String | Code boot file of the algorithm, which needs to be stored in the code directory, for example, /usr/app/boot.py. This parameter must be used together with code_dir. |
command | No | String | Container startup command of a custom image algorithm. |
parameters | No | Array of Parameter objects | Running parameter of an algorithm. |
inputs | No | Array of inputs objects | Data input of an algorithm. |
outputs | No | Array of outputs objects | Data output of an algorithm. |
engine | No | engine object | Algorithm engine. |
parameters_customization | No | Boolean | Whether the algorithm allows hyperparameter customization during training job creation. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | No | String | Parameter name. |
value | No | String | Parameter value. |
description | No | String | Parameter description. |
constraint | No | constraint object | Parameter constraint. |
i18n_description | No | i18n_description object | Internationalization description. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
type | No | String | Parameter type. |
editable | No | Boolean | Whether the parameter is editable. |
required | No | Boolean | Whether the parameter is mandatory. |
sensitive | No | Boolean | Whether the parameter is sensitive This function is not implemented currently. |
valid_type | No | String | Valid type. |
valid_range | No | Array of strings | Valid range. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
language | No | String | Language |
description | No | String | Description. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | Yes | String | Name of the data input channel. |
description | No | String | Description of the data input channel. |
remote_constraints | No | Array of remote_constraints objects | Data input constraint. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
data_type | No | String | Data input type. The data storage location (OBS) and ModelArts dataset are supported. |
attributes | No | Array of Map<String,String> objects | Attributes if a dataset is used as the data input. Options:
|
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | Yes | String | Name of the data output channel. |
description | No | String | Description of the data output channel. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
engine_id | No | String | Engine ID selected for an algorithm. |
engine_name | No | String | Engine version name selected for an algorithm. If engine_id is specified, leave this parameter blank. |
engine_version | No | String | Engine version name selected for an algorithm. If engine_id is specified, leave this parameter blank. |
image_url | No | String | Custom image URL selected by an algorithm. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
key | No | String | Resource constraint. The options are as follows:
|
values | No | Array of strings | Value of the resource constraint key. |
operator | No | String | Relationship between keys and values. Currently, only in is supported. For example: flavor_type in [CPU,GPU]. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
auto_search | No | auto_search object | Hyperparameter search policy. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
skip_search_params | No | String | Hyperparameter parameters that need to be skipped. |
reward_attrs | No | Array of reward_attrs objects | List of search metrics. |
search_params | No | Array of search_params objects | Search parameters. |
algo_configs | No | Array of algo_configs objects | Search algorithm configurations. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | No | String | Metric name. |
mode | No | String | Search direction.
|
regex | No | String | Regular expression of a metric. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | No | String | Hyperparameter name. |
param_type | No | String | Parameter type
|
lower_bound | No | String | Lower bound of the hyperparameter. |
upper_bound | No | String | Upper bound of the hyperparameter. |
discrete_points_num | No | String | Number of discrete points of a continuous hyperparameter. |
discrete_values | No | String | List of discrete hyperparameter values. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
name | No | String | Name of the search algorithm. |
params | No | Array of AutoSearchAlgoConfigParameter objects | Search algorithm parameters. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
key | No | String | Parameter key. |
value | No | String | Parameter value. |
type | No | String | Parameter type. |
Response Parameters¶
Status code: 201
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. This parameter is optional. After this parameter is set, the console filters available public resource pools when the algorithm is used in training jobs. |
advanced_config | advanced_config object | Advanced algorithm policy:
|
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 | Description of the algorithm. The value is a string of [0, 256] characters. The default value is NULL. |
workspace_id | String | Workspace where a specified algorithm is located. The default value is 0. The value 0 indicates the default workspace. |
ai_project | String | AI project to which a specified algorithm belongs. The default value is default-ai-project. The AI project has been brought offline. Ignore it. |
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. |
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. |
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. |
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 This function is not implemented currently. |
valid_type | String | Valid type. |
valid_range | Array of strings | Valid range. |
Parameter | Type | Description |
---|---|---|
language | String | Language |
description | String | Description. |
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. |
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:
|
Parameter | Type | Description |
---|---|---|
name | String | Name of the data output channel. |
description | String | Description of the data output channel. |
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. |
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. |
Parameter | Type | Description |
---|---|---|
key | String | Resource constraint. The options are as follows:
|
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]. |
Parameter | Type | Description |
---|---|---|
auto_search | auto_search object | Hyperparameter search policy. |
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. |
Parameter | Type | Description |
---|---|---|
name | String | Metric name. |
mode | String | Search direction.
|
regex | String | Regular expression of a metric. |
Parameter | Type | Description |
---|---|---|
name | String | Hyperparameter name. |
param_type | String | Parameter 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. |
Parameter | Type | Description |
---|---|---|
name | String | Name of the search algorithm. |
params | Array of AutoSearchAlgoConfigParameter objects | Search algorithm parameters. |
Parameter | Type | Description |
---|---|---|
key | String | Parameter key. |
value | String | Parameter value. |
type | String | Parameter type. |
Example Requests¶
The following shows how to modify the algorithm whose UUID is 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"
}
}
}
Example Responses¶
Status code: 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" : { }
}
Status Codes¶
Status Code | Description |
---|---|
201 | ok |
Error Codes¶
See Error Codes.