28 KiB
- original_name
modelarts_03_0076.html
Importing a Model
Function
You can use the API to import a model.
Ensure that the execution code and model have been uploaded to OBS.
URI
POST /v1/{project_id}/models
Table 1 <modelarts_03_0076__en-us_topic_0130147365_table16518993181628>
describes the required parameters.
Parameter | Mandatory | Type | Description |
---|---|---|---|
project_id | Yes | String | Project ID. For details about how to obtain the project ID, see Obtaining a Project ID <modelarts_03_0147> . |
Request Body
Table 2 <modelarts_03_0076__en-us_topic_0130147365_table24514577587>
describes the request parameters.
Table 2 Parameters
Parameter
Mandatory
Type
Description
model_name
Yes
String
Model name. Enter 1 to 64 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed.
model_version
Yes
String
Model version in the format of Digit.Digit.Digit. The value range of the digits is [1, 99]. Note that no part of the version number can start with 0. For example, 01.01.01 is not allowed.
source_location
Yes
String
<<<<<<< HEAD
OBS path where the model is located or the SWR image location
OBS path where the model is located or the SWR image location.
>>>>>>> c3fddcc8 (modelarts api-ref version 21.430 update 20221222)
- If model_type is set to TensorFlow, MXNet, Caffe, Spark_MLlib, Scikit_Learn, XGBoost, PyTorch, or Template, set source_location to the OBS path where the model is located.
- If model_type is set to Image, set source_location to the path where the SWR image is located.
source_job_id
No
String
ID of the source training job. If the model is generated from a training job, input this parameter for source tracing. If the model is imported from a third-party meta model, leave this parameter blank. By default, this parameter is left blank.
source_job_version
No
String
Version of the source training job. If the model is generated from a training job, input this parameter for source tracing. If the model is imported from a third-party meta model, leave this parameter blank. By default, this parameter is left blank.
source_type
No
String
Model source type.
model_type
Yes
String
Model type. The value can be TensorFlow, MXNet, Caffe, Spark_MLlib, Scikit_Learn, XGBoost, Image, PyTorch, or Template, which is read from the configuration file.
runtime
No
String
description
No
String
Model remarks. The value contains a maximum of 100 characters and cannot contain the following special characters and more: &!'\"<>=
model_algorithm
No
String
<<<<<<< HEAD
Model algorithm. If the algorithm is read from the configuration file, this parameter can be left blank. For example, the value can be predict_analysis, object_detection, or image_classification. The value must start with a letter and contain no more than 36 characters. Chinese characters and special characters (&!'\"<>=)
are not allowed.
Model algorithm. If the algorithm is read from the configuration file, this parameter can be left blank. For example, the value can be predict_analysis, object_detection, or image_classification. The value must start with a letter and contain no more than 36 characters.
>>>>>>> c3fddcc8 (modelarts api-ref version 21.430 update 20221222)
execution_code
No
String
OBS path for storing the execution code. By default, this parameter is left blank. The name of the execution code file is fixed to customize_service.py. The inference code file must be stored in the model directory. If this parameter is left blank, the system can automatically identify the inference code in the model directory.
input_params
No
params array
Collection of input parameters of a model. By default, this parameter is left blank. For details, see Table 3 <modelarts_03_0076__en-us_topic_0130147365_table01082501075>
. If the collection of input parameters is read from apis in the configuration file, you only need to provide the initial_config field and do not need to set input_params. input_params is optional when the initial_config field exists.
output_params
No
params array
Collection of output parameters of a model. By default, this parameter is left blank. For details, see Table 3 <modelarts_03_0076__en-us_topic_0130147365_table01082501075>
. If the collection of output parameters is read from apis in the configuration file, you only need to provide the initial_config field and do not need to set output_params.
dependencies
No
dependency array
Package required for inference code and model. By default, this parameter is left blank. If the package is read from the configuration file, this parameter can be left blank. Table 4 <modelarts_03_0076__en-us_topic_0130147365_table649013511785>
shows the dependency structure.
model_metrics
No
String
Model precision, which is read from the configuration file
apis
No
apis array
All apis input and output parameters of the model. If the parameters are read from the configuration file, this parameter can be left blank. For details, see Table 10 <modelarts_03_0076__en-us_topic_0130147365_table53974919117>
.
initial_config
No
String
Character string converted from the final model configuration file. It is recommended that the initial_config file be used to provide information about the fields such as apis, dependencies, input_params, and output_params.
workspace_id
No
String
ID of the workspace to which a service belongs. The default value is 0, indicating the default workspace.
model_docs
No
doc array
List of model description documents. A maximum of three documents are supported. For details, see Table 7 <modelarts_03_0076__en-us_topic_0130147365_table9739172671118>
.
install_type
No
String array
Deployment type. Only lowercase letters are supported. 可选real-time,batch,默认为["real-time","batch"]
template
No
Template object
Template configuration items. This parameter is mandatory when model_type is set to Template. For details, see Table 8 <modelarts_03_0076__en-us_topic_0130147365_table89901124131016>
.
Parameter | Mandatory | Type | Description |
---|---|---|---|
url | Yes | String | API URL |
method | Yes | String | Request method. Possible values are post and get. |
protocol | Yes | String | Request protocol |
param_name | Yes | String | Parameter name. It is recommended that the parameter name contain a maximum of 64 characters. |
param_type | Yes | String | Parameter type. The value can be int, string, float, timestamp, date, or file. |
min | No | Number | This parameter is optional when param_type is set to int or float. By default, this parameter is left blank. |
max | No | Number | This parameter is optional when param_type is set to int or float. By default, this parameter is left blank. |
param_desc | No | String | Parameter description. It is recommended that the parameter description contain a maximum of 100 characters. By default, this parameter is left blank. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
installer | Yes | String | Installation mode. Only pip is supported. |
packages | Yes | package array | Collection of dependency packages. For details, see Table 5 <modelarts_03_0076__en-us_topic_0130147365_table137621937181116> . |
Table 5 package parameters
Parameter
Mandatory
Type
Description
package_name
Yes
String
<<<<<<< HEAD
Name of a dependency package. Ensure that the package name is correct and exists. Chinese characters and special characters (&!'"<>=)
are not allowed.
Name of a dependency package. Ensure that the package name is correct and exists.
>>>>>>> c3fddcc8 (modelarts api-ref version 21.430 update 20221222)
package_version
No
String
<<<<<<< HEAD
Version of a dependency package. If this parameter is left blank, the latest version is installed by default. Chinese characters and special characters (&!'"<>=)
are not allowed.
Version of a dependency package. If this parameter is left blank, the latest version is installed by default.
>>>>>>> c3fddcc8 (modelarts api-ref version 21.430 update 20221222)
restraint
No
String
Version restriction. The value can be EXACT, ATLEAST, or ATMOST. This parameter is mandatory only when package_version exists.
Parameter | Mandatory | Type | Description |
---|---|---|---|
f1 | No | Double | F1 score |
recall | No | Double | Recall |
precision | No | Double | Precision |
accuracy | No | Double | Accuracy |
Parameter | Mandatory | Type | Description |
---|---|---|---|
doc_name | Yes | String | Document name, which must start with a letter. Enter 1 to 48 characters. Only letters, digits, hyphens (-), and underscores (_) are allowed. |
doc_url | Yes | String | HTTP(S) link of the document |
Parameter | Mandatory | Type | Description |
---|---|---|---|
infer_format | No | String | Input and output mode. When this parameter is used, the input and output mode built in the template does not take effect. |
template_id | Yes | String | ID of the used template. The template has a built-in input and output mode. |
template_inputs | Yes | Array of TemplateInputs objects | Template input configuration, specifying the source path for configuring a model. For details, see Table 9 <modelarts_03_0076__en-us_topic_0130147365_table12364181131310> . |
Parameter | Mandatory | Type | Description |
---|---|---|---|
input | Yes | String | Template input path, which can be an OBS file path or OBS directory path. When you use a template with multiple input items to create a model, if the target paths input_properties specified in the template are the same, the OBS directory or OBS file name entered here must be unique to prevent files from being overwritten. |
input_id | Yes | String | Input item ID, which is obtained from the template details. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
input_params | No | Object | Input parameters in apis, described in JSON Schema format. For details, see Table 11 <modelarts_03_0076__en-us_topic_0130147365_table116145629> . |
method | No | String | Request method. The options are POST and GET. |
output_params | No | Object | Output parameters in apis, described in JSON Schema format. For details, see Table 12 <modelarts_03_0076__en-us_topic_0130147365_table890117461320> . |
protocol | No | String | Request protocol. |
url | No | String | Inference request URL. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
properties | No | Map<String,Object> | Properties of an object element in JSON Schema. You can set parameters, including the parameter name and type, in properties. |
type | No | String | Type in JSON Schema, which can be object. |
Parameter | Mandatory | Type | Description |
---|---|---|---|
properties | No | Map<String,Object> | Properties of an object element in JSON Schema. You can set parameters, including the parameter name and type, in properties. |
type | No | String | Type in JSON Schema, which can be object. |
Response Body
Table 13 <modelarts_03_0076__en-us_topic_0130147365_table88391251102419>
describes the response parameters.
Parameter | Type | Description |
---|---|---|
model_id | String | Model ID |
Samples
The following shows how to import a model whose name is mnist, version is 1.0.0, and type is TensorFlow. The model file comes from an OBS bucket.
Sample request
POST https://endpoint/v1/{project_id}/models { "model_name": "mnist", "model_version": "1.0.0", "source_location": "https://models.obs.xxxx.com/mnist", "model_type": "TensorFlow", "runtime": "", "description": "mnist model", "execution_code": "https://testmodel.obs.xxxx.com/customize_service.py", "input_params": [ { "url": "/v1/xxx/image", "protocol": "http", "method": "post", "param_name": "image_url", "param_type": "string", "min": 0, "max": 9, "param_desc": "http://test/test.jpeg" } ], "output_params": [ { "url": "/v1/xxx/image", "protocol": "http", "method": "post", "param_name": "face_location", "param_type": "box", "param_desc": "face_location param value description" } ], "dependencies": [ { "installer": "pip", "packages": [ { "package_name": "numpy", "package_version": "1.5.0", "restraint": "ATLEAST" } ] } ], "model_algorithm": "object_detection", "model_metrics":"{\"f1\":0.52381,\"recall\":0.666667,\"precision\":0.466667,\"accuracy\":0.625}", "apis": [ { "url": "/v1/xxx/image", "protocol": "http", "method": "post", "input_params": { "type": "object", "properties": { "image_url": { "type": "string" } } }, "output_params": { "type": "object", "properties": { "face_location": { "type": "box" } } } } ], }
Sample response
{ "model_id": "10eb0091-887f-4839-9929-cbc884f1e20e" }
Status Code
For details about the status code, see Table 1 <modelarts_03_0094__en-us_topic_0132773864_table1450010510213>
.
Error Code
For details about the status code, see Error Code <modelarts_03_0095>
.