文档首页 > > AI工程师用户指南> 部署模型> 批量服务> 部署为批量服务

部署为批量服务

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

模型准备完成后,您可以将模型部署为批量服务。在“部署上线>批量服务”界面,列举了用户所创建的批量服务。您可以在右上方搜索框中输入服务名称,单击进行查询。

前提条件

  • 数据已完成准备:已在ModelArts中创建状态“正常”可用的模型。
  • 准备好需要批量处理的数据,并上传至OBS目录。
  • 已在OBS创建至少1个空的文件夹,用于存储训练输出的内容。

背景信息

  • 批量服务目前还处于限时免费阶段,运行中的批量服务,并不会产生费用。
  • 用户最多可创建1000个批量服务。

操作步骤

  1. 登录ModelArts管理控制台,在左侧导航栏中选择“部署上线 > 批量服务”,单击进入“批量服务”列表。
  2. 在批量服务列表中,单击左上角“部署”,进入“部署”页面。
  3. 在部署页面,填写批量服务相关参数,然后单击下一步。
    1. 填写基本信息。基本信息包含“名称”“描述”。其中“名称”默认生成。例如:service-bc0d,您也可以根据实际情况填写“名称”“描述”信息。
    2. 填写服务参数。包含资源池、模型配置等关键信息,详情请参见表1
      表1 参数说明

      参数名称

      说明

      选择模型及版本

      选择状态“正常”的模型及版本。

      输入数据目录位置

      选择输入数据的OBS路径,即您上传数据的OBS目录。只能选择文件夹或“.manifest”文件。“.manifest”文件规范请参见Manifest文件规范

      请求路径

      批量服务中调用模型的接口URl。

      映射关系

      填写每个参数对应到csv单行数据的字段索引,索引index从0开始计数。

      根据model文件自动生成映射关系。

      当model文件中包含​“file=images”“data=json”任一种信息会出现映射关系详情。

      输出数据目录位置

      选择批量预测结果的保存位置,可以选择您创建的空文件夹。

      计算节点规格

      “CPU 2核 8GiB”“CPU:2核 8GiB GPU:1*P4”两种规格。

      说明:
      • 如选择的是自动学习模型及版本,则此处界面可选“自动学习规格(CPU)”“自动学习规格(GPU)”
      • 规格“CPU:2核 8GiB GPU:1*P4”需要提工单申请。

      计算节点个数

      设置当前版本模型的实例个数。如果节点个数设置为1,表示后台的计算模式是单机模式;如果节点个数设置大于1,表示后台的计算模式为分布式的。请根据实际编码情况选择计算模式。

      环境变量

      设置环境变量,注入环境变量到容器实例。

  4. 完成参数填写后,单击“立即创建”,完成批量服务的部署。部署服务一般需要运行一段时间,根据您选择的数据量和资源不同,训练时间将耗时几分钟到几十分钟不等。

    批量服务部署完成后,将立即启动,运行过程中将按照您选择的资源按需计费。

    您可以前往批量服务列表,查看批量服务的基本情况。在批量服务列表中,刚部署的服务“状态”“部署中”,当批量服务的“状态”变为“运行完成”时,表示服务部署完成。

Manifest文件规范

推理平台批量服务支持使用manifest文件,manifest文件可用于描述数据的输入输出。

输入manifest文件样例
  • 文件名:“test.manifest”
  • 文件内容:
    {"source": "s3://obs-data-bucket/test/data/1.jpg"}
    {"source": "https://infers-data.obs.cn-north-1.myhwclouds.com:443/xgboosterdata/data.csv?AccessKeyId=2Q0V0TQ461N26DDL18RB&Expires=1550611914&Signature=wZBttZj5QZrReDhz1uDzwve8GpY%3D&x-obs-security-token=gQpzb3V0aGNoaW5hixvY8V9a1SnsxmGoHYmB1SArYMyqnQT-ZaMSxHvl68kKLAy5feYvLDMNZWxzhBZ6Q-3HcoZMh9gISwQOVBwm4ZytB_m8sg1fL6isU7T3CnoL9jmvDGgT9VBC7dC1EyfSJrUcqfB_N0ykCsfrA1Tt_IQYZFDu_HyqVk-GunUcTVdDfWlCV3TrYcpmznZjliAnYUO89kAwCYGeRZsCsC0ePu4PHMsBvYV9gWmN9AUZIDn1sfRL4voBpwQnp6tnAgHW49y5a6hP2hCAoQ-95SpUriJ434QlymoeKfTHVMKOeZxZea-JxOvevOCGI5CcGehEJaz48sgH81UiHzl21zocNB_hpPfus2jY6KPglEJxMv6Kwmro-ZBXWuSJUDOnSYXI-3ciYjg9-h10b8W3sW1mOTFCWNGoWsd74it7l_5-7UUhoIeyPByO_REwkur2FOJsuMpGlRaPyglZxXm_jfdLFXobYtzZhbul4yWXga6oxTOkfcwykTOYH0NPoPRt5MYGYweOXXxFs3d5w2rd0y7p0QYhyTzIkk5CIz7FlWNapFISL7zdhsl8RfchTqESq94KgkeqatSF_iIvnYMW2r8P8x2k_eb6NJ7U_q5ztMbO9oWEcfr0D2f7n7Bl_nb2HIB_H9tjzKvqwngaimYhBbMRPfibvttW86GiwVP8vrC27FOn39Be9z2hSfJ_8pHej0yMlyNqZ481FQ5vWT_vFV3JHM-7I1ZB0_hIdaHfItm-J69cTfHSEOzt7DGaMIES1o7U3w%3D%3D"}
  • 文件要求:
    1. 文件名后缀需为“.manifest”
    2. 文件内容是多行JSON,每行JSON描述一个输入数据,需精确到文件,不能是文件夹;
    3. JSON内容需定义一个source字段,字段值是OBS的文件地址,有2种表达形式:
      1. “s3://{{桶名}}/{{对象名}}”,适用于访问自己名下的OBS数据;
      2. OBS生成的分享链接,包含签名信息。适用于访问其他人的OBS数据。

输出manifest文件样例

使用manifest文件输入,输出结果目录也会有一个manifest文件。
  • 假设用户输出结果路径为//test-bucket/test/,则结果存放位置如下:
    OBS桶/目录名
    ├── test-bucket
    │   ├── test
    │   │   ├── infer-result-0.manifest
    │   │   ├── infer-result
    │   │   │ ├── 1.jpg_result.txt
    │   │   │ ├── 2.jpg_result.txt
  • infer-result-0.manifest文件内容:
    {"source": "s3://obs-data-bucket/test/data/1.jpg",  "inference-loc": "s3://test-bucket/test/infer-result/1.jpg_result.txt"}
    {"source ": "https://infers-data.obs.cn-north-1.myhwclouds.com:443/xgboosterdata/2.jpg?AccessKeyId=2Q0V0TQ461N26DDL18RB&Expires=1550611914&Signature=wZBttZj5QZrReDhz1uDzwve8GpY%3D&x-obs-security-token=gQpzb3V0aGNoaW5hixvY8V9a1SnsxmGoHYmB1SArYMyqnQT-ZaMSxHvl68kKLAy5feYvLDMNZWxzhBZ6Q-3HcoZMh9gISwQOVBwm4ZytB_m8sg1fL6isU7T3CnoL9jmvDGgT9VBC7dC1EyfSJrUcqfB_N0ykCsfrA1Tt_IQYZFDu_HyqVk-GunUcTVdDfWlCV3TrYcpmznZjliAnYUO89kAwCYGeRZsCsC0ePu4PHMsBvYV9gWmN9AUZIDn1sfRL4voBpwQnp6tnAgHW49y5a6hP2hCAoQ-95SpUriJ434QlymoeKfTHVMKOeZxZea-JxOvevOCGI5CcGehEJaz48sgH81UiHzl21zocNB_hpPfus2jY6KPglEJxMv6Kwmro-ZBXWuSJUDOnSYXI-3ciYjg9-h10b8W3sW1mOTFCWNGoWsd74it7l_5-7UUhoIeyPByO_REwkur2FOJsuMpGlRaPyglZxXm_jfdLFXobYtzZhbul4yWXga6oxTOkfcwykTOYH0NPoPRt5MYGYweOXXxFs3d5w2rd0y7p0QYhyTzIkk5CIz7FlWNapFISL7zdhsl8RfchTqESq94KgkeqatSF_iIvnYMW2r8P8x2k_eb6NJ7U_q5ztMbO9oWEcfr0D2f7n7Bl_nb2HIB_H9tjzKvqwngaimYhBbMRPfibvttW86GiwVP8vrC27FOn39Be9z2hSfJ_8pHej0yMlyNqZ481FQ5vWT_vFV3JHM-7I1ZB0_hIdaHfItm-J69cTfHSEOzt7DGaMIES1o7U3w%3D%3D",  "inference-loc": "s3://test-bucket/test/infer-result/2.jpg_result.txt"}
  • 文件格式:
    1. 文件名为“infer-result-{{index}}.manifest”,index为实例序号,批量服务运行多少个实例就会产生多少个manifest文件;
    2. manifest同一目录下会创建infer-result目录存放结果;
    3. 文件内容是多行JSON,每行JSON描述一个输入数据的对应输出结果;
    4. JSON内容包含2个字段,source、inference-loc:
      1. source:输入数据描述,与输入的manifest一致;
      2. inference-loc:输出结果路径,格式为“s3://{{桶名}}/{{对象名}}”
分享:

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区