1. 模型仓库及模型服务部署

用户能将模型保存至模型仓库,在模型仓库中,用户可进行模型部署,并将模型部署为Restful API,还可进行离线批量预测导入第三方模型等服务,后文将分别介绍:

模型部署

将模型保存至模型仓库页面进行部署

  • 右键单击模型组件,选择保存到模型仓库

3.4. 模型仓库及模型服务部署 - 图1

  • 输入模型名称

  • 页面将跳转至模型仓库页面,点击部署按钮

  • 进行部署设置(需要选择运行环境、以及模型资源配置)

模型部署完成后,可在模型服务的操作列中,进行如下操作:

  • 测试:页面内对服务进行小数量级的测试。支持的任务类型为图像分类、图像目标识别机器学习
    • 图像分类和图像目标识别的数据支持用户通过本地上传。
    • 机器学习任务的数据支持的提交格式为 JSON(用户需要先在任务流界面右击组件选择导出模型并找到对应txt文件)。
  • 升级/回退:用户可对实例进行部分/全量的版本升级与回退
  • 负载均衡:单击列表的流量数,分配此服务各个版本的流量百分比,新建的模型版本默认流量为0。
  • 监控:用户可在界面上查看某一段时间的响应、请求、使用率等情况
  • 删除:在弹框中确认删除后模型将不再对外进行服务

模型服务调用方式

目前,智能钛支持三种类型的模型部署:

调用命令

模型在智能钛页面部署后,可以直接生成采用 POST 方法的服务接口,以供外界调用。这里使用 curl 工具为例,展示用户如何调用服务接口:

  1. curl -v \
  2. -H "Content-Type: application/json" \
  3. -H "Authorization: ${accessKey}" \
  4. -X POST \
  5. -d '${data}' \
  6. ${hostUri}/v1/models/m:predict

变量含义

  • accessKey:从模型服务界面获得的密钥,比如 a15fea3033ba4496d87cfa74bafdae8a1
  • hostUri:从模型服务界面获得的链接,比如 zbejoOAJ.ms.ti.tencent-cloud.com
  • data:推理服务的输入数据,json 格式,比如 {"instances": [{"x1":6.2, "x2":2.2, "x3":1.1, "x4":1.2}]} 具体调用接口时,请替换上文中的变量。data 字段为模型自身定义,请部署服务时了解模型所要求的数据结构。

请求实例

调用 PMML 模型部署的服务

下载 PMML 模型文件 LogisticRegressionIris 并在【模型仓库】页面上传和部署。部署成功后,获取正确的密钥和网址,参考下面例子进行访问:

  1. $ curl -H "Content-Type: application/json" \
  2. -H "Authorization: afae3d02e2dc04e78a95a44d4ba3b1e8e" \
  3. -d '{"instances": [{"x1":6.2, "x2":2.2, "x3":1.1, "x4":1.2}]}' \
  4. -X POST zbejoOAJ.ms.ti.tencent-cloud.com/v1/models/m:predict

返回:

  1. {
  2. "predictions": [
  3. {
  4. "probability(-1)": "0.9135737801209646",
  5. "probability(1)": "0.08642621987903544",
  6. "y": "-1"
  7. }
  8. ]
  9. }
调用 TensorFlow 模型部署的服务

下载 TensorFlow 模型文件 flower.zip 并在【模型仓库】页面上传和部署。部署成功后,获取正确的密钥和网址,并使用我们提供好的 image(base64 编码后的图片文件)文件,参考下面例子进行访问:

  1. # 获得图片
  2. wget "https://models-prod-1256322946.cos.ap-chengdu.myqcloud.com/demo/tfserving/image"
  3. # 调用服务
  4. curl -H "Content-Type: application/json" \
  5. -H "Authorization: a660eae44640f4a47859357ea934ff907" \
  6. -X POST bacJSOyq.ms.ti.tencent-cloud.com/v1/models/m:predict -d "@image"

返回:

  1. {
  2. "predictions": [
  3. {
  4. "probabilities": [5.39646e-07, 1.25254e-05, 0.99991, 3.78366e-06, 7.35332e-05],
  5. "classes": "roses",
  6. "class_idx": 2
  7. }
  8. ]
  9. }

参考

Angel 模型服务文档

TensorFlow 模型服务文档

离线批量预测

  • 进入模型仓库页面,选择相应的模型点击离线批量预测

https://main.qcloudimg.com/raw/1f3ea805b7b175940dc7903d615c3f17.png

  • 在跳转的离线批量预测页面对作业类型调度周期开始时间进行设置。并对预处理环节进行编辑,如果删除预处理节点,请重新在组件间完成连线。

  • 成功开启作业后,您将进入批量预测作业列表页面,可以对所有作业进行查看和管理。作业的运行状态有三种:运行中、已完成、已失败。单击运行中,可以打开任务流视图,查看离线预测作业的运行详情。

导入模型

  • 进入模型仓库页面,点击右上角导入模型按钮
  • 填写COS路径、模型名称、选择模型类型等信息
  • 点击确定,导入模型