Creating an Algorithm
Function
This API is used to create an algorithm.
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. |
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 |
---|---|---|---|
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 |
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. |
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 |
---|---|---|
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 |
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.