文档首页 > > API参考> 模型管理> 模型> 导入模型

导入模型

分享
更新时间: 2020/03/12 GMT+08:00

功能介绍

导入模型。

执行代码、模型需先上传至OBS(训练作业生成的模型已默认存储到OBS)。

URI

POST /v1/{project_id}/models

参数说明如 表1所示。
表1 参数说明

参数

是否必选

参数类型

说明

project_id

String

用户项目ID。

请求消息

请求参数如 表2所示。
表2 请求参数

参数

是否必选

参数类型

说明

model_name

String

模型名称,支持1~64位可见字符(含中文),名称可以包含字母、中文、数字、中划线、下划线。

model_version

String

模型版本,格式需为“数值.数值.数值”,其中数值为1-2位正整数。注意:版本不可以出现如01.01.01等以0开头的版本号形式。

source_location

String

模型所在的OBS路径或SWR镜像的模板地址。

source_job_id

String

来源训练作业的ID,模型是从训练作业产生的可填写,用于溯源;如模型是从第三方元模型导入,则为空。默认值为空。

source_job_version

String

来源训练作业的版本,模型是从训练作业产生的可填写,用于溯源;如模型是从第三方元模型导入,则为空。默认值为空。

source_type

String

模型来源的类型,当前仅可取值“auto”,用于区分通过自动学习部署过来的模型(不提供模型下载功能);用户通过训练作业部署的模型不设置此值。默认值为空。

model_type

String

模型类型,取值为TensorFlow/ MXNet/ Caffe/ Spark_MLlib/ Scikit_Learn/ XGBoost/ Image / PyTorch,从配置文件读取。

runtime

String

模型运行时环境,模型运行时环境,runtime可选值与model_type相关,详细见表1 推理支持的常用引擎及其Runtime

description

String

模型备注信息,不超过100个字符,不能包含&!'\"<>=等特殊字符。

model_algorithm

String

模型算法,从配置文件读取,可不填。如:“predict_analysis”“object_detection”“image_classification”。只能以英文字母开头,不能包含中文以及&!'\"<>=,不超过36个字符。

execution_code

String

执行代码存放的OBS地址,默认值为空,名称固定为“customize_service.py”。推理代码文件需存放在模型“model”目录。该字段不填,系统也能自动识别出model目录下的推理代码。

input_params

params结构数组

模型的输入参数集,默认为空,params结构如表3所示。从配置文件的apis读取,用户提供“initial_config”字段即可,可不填该字段。

output_params

params结构数组

模型的输出参数集,默认为空,params结构如表3所示。从配置文件的apis读取,用户提供“initial_config”字段即可,可不填该字段。

dependencies

dependency结构数组

推理代码及模型需安装的包,默认为空。从配置文件读取,可不填。dependency结构如表4所示。

model_metrics

String

模型精度信息,从配置文件读取。

apis

String

模型所有的apis入参出参信息,从配置文件中读取,可不填。

initial_config

String

最终使用的模型配置文件转成的字符串。建议通过配置文件initial_config来提供“apis”、“dependencies”、“input_params”、“output_params”等字段的信息。

workspace_id

String

工作空间ID,默认为“0”

model_docs

doc结构数组

模型说明文档列表,最多三篇。

install_type

String数组

部署类型,可选real-time,edge,batch,默认为["real-time","edge","batch"]

表3 params结构

参数

是否必选

参数类型

说明

url

String

api代表的url路径。

method

String

请求方法,可选“post”“get”

protocol

String

请求协议。

param_name

String

参数名,不超过64个字符。

param_type

String

参数类型,取值为int/string/float/timestamp/date/file。

min

Number

当param_type为int或float时可选填,默认为空。

max

Number

当param_type为int或float时可选填,默认为空。

param_desc

String

参数描述,不超过100个字符,默认为空。

表4 dependency结构

参数

是否必选

参数类型

说明

installer

String

安装方式,当前只支持pip。

packages

package结构数组

依赖包集合。

表5 package结构

参数

是否必选

参数类型

说明

package_name

String

依赖包名称。请确保包名正确且存在。不能含有中文及特殊字符&!'"<>=。

package_version

String

依赖包版本。不填时默认安装最新版本。不能含有中文及特殊字符&!'"<>=。

restraint

String

版本限制条件,取值为EXACT/ATLEAST/ATMOST,当且仅当package_version存在时必填。

表6 metric参数说明

参数

是否必选

参数类型

说明

f1

Double

平均数。

recall

Double

召回率。

precision

Double

精确率。

accuracy

Double

准确率。

表7 doc参数说明

参数

是否必选

参数类型

说明

doc_name

String

文档名称,支持1-48位可见字符(含中文),只能以英文大小写字母或者中文字符开头,名称可以包含字母、中文、数字、中划线、下划线。

doc_url

String

文档http(s)链接。

响应消息

响应参数如 表8所示。
表8 响应参数

参数

参数类型

说明

model_id

String

模型ID。

示例

如下以导入名为“mnist”,版本为“1.0.0,”类型为“TensorFlow”的模型,模型文件来源于OBS桶为例。

  • 请求示例
    POST    https://endpoint/v1/{project_id}/models
    {
    "model_name": "mnist",
    "model_version": "1.0.0",
    "source_location": "https://models.obs.myhwclouds.com/mnist",
    "source_job_id": "55",
    "source_job_version": "V100",
    "model_type": "TensorFlow",
    "runtime": "python2.7",
    "description": "mnist model",
    "execution_code": "https://testmodel.obs.myhwclouds.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"
          }
        }
      }
    }
    ]
    }
  • 响应示例
    {
      "model_id": "10eb0091-887f-4839-9929-cbc884f1e20e"
    }

状态码

状态码请参见表1

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区