Creating an Algorithm
Function
This API is used to create an algorithm.
Debugging
You can debug this API through automatic authentication in API Explorer or use the SDK sample code generated by API Explorer.
URI
POST /v2/{project_id}/algorithms
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details, see Obtaining a Project ID and Name. |
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. Options:
|
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 when the data input type is a dataset. Enums:
|
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 mode.
|
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. |
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. Options:
|
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 when the data input type is a dataset. Enums:
|
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 mode.
|
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. |
Example Requests
The following is an example of how to create an algorithm whose name is TestModelArtsalgorithm and description is This is a ModelArts algorithm.
POST https://endpoint/v2/{project_id}/algorithms { "metadata" : { "name" : "TestModelArtsalgorithm", "description" : "This is a ModelArts algorithm" }, "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", "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.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot