模型服务

最近更新时间:2019-11-22 16:44:20

操作场景

本文将向您介绍 TI-ONE 的模型服务的基本操作和调用方式。

操作步骤

基本功能说明

  • 模型调用说明:单击模型服务名称,查看此服务的访问地址和密钥。
  • 服务资源调整:单击实例数,调整此服务版本的所用资源。请注意,调整 Quota 个数将会造成服务重启。
  • 流量分配调整:单击流量百分比,调整此服务版本间的流量分配,新建的服务默认流量分配为0。
  • 切换到离线服务:单击"离线服务"TAB,切换查看离线服务内容。
  • 定时周期调整:单击作业类型为定制周期的作业,查看或编辑现有的周期设置。勾选停止作业周期,停止此作业周期。
  • 运行状态查看:单击“运行”状态,跳转画布查看每个节点的详细运行状态。

操作说明

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

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

模型服务调用方式

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

调用命令

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

curl -v \
-H "Content-Type: application/json" \
-H "Authorization: ${accessKey}" \
-X POST \
-d '${data}' \
${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 并在【模型仓库】页面上传和部署。部署成功后,获取正确的密钥和网址,参考下面例子进行访问:

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

返回:

{
    "predictions": [
        {
            "probability(-1)": "0.9135737801209646",
            "probability(1)": "0.08642621987903544",
            "y": "-1"
        }
    ]
}

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

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

返回:

{
    "predictions": [
        {
            "probabilities": [5.39646e-07, 1.25254e-05, 0.99991, 3.78366e-06, 7.35332e-05],
            "classes": "roses",
            "class_idx": 2
        }
    ]
}

参考文档

Angel 模型服务文档
TensorFlow 模型服务文档