使用滴滴云弹性推理服务部署 Inception-v3 模型

滴滴云近期推出了弹性推理服务 EIS(Elastic Inference Service)。借助滴滴云 EIS 可快速将在主流深度学习框架上训练的模型发布为在线推理服务,性能较 TensorFlow Serving 有明显的提高。

相比较传统的推理服务发布模式,滴滴云弹性推理服务 EIS 具有如下特点:

  1. 易用:无需考虑基础架构,仅需关注模型和推理服务。
  2. 高可用:滴滴云弹性推理服务自带高可用保障和容错机制。
  3. 易管理:模型的升级等可一键完成。
  4. SLA 保障:根据购买的实例规格提供 QPS 保障。

本教程通过一个 Inception-v3 模型的例子说明如何在滴滴云弹性推理服务 EIS 上部署模型,进而使用该模型执行在线推理任务。本教程包括如下步骤:

  • 准备模型文件
  • 把模型文件上传到滴滴云对象存储服务 S3
  • 把模型文件从 S3 导入到EIS模型空间
  • 创建推理服务
  • 执行推理任务

准备模型文件

滴滴云弹性推理服务 EIS 目前支持 TensorFlow、Pytorch、Caffe、Caffe2 等主流深度学习框架。

在上传模型文件之前,请将模型文件压缩成 tar、tar.gz、tar.bz2、tgz、zip 中的任意一种压缩格式。

模型文件目录格式如下图所示:

使用滴滴云弹性推理服务部署 Inception-v3 模型_第1张图片

上传模型文件

模型文件准备好之后需要上传到滴滴云对象存储服务 S3上。如何使用滴滴云对象存储服务 S3 请参见:

本教程使用的 inception.tar 文件上传后如下图所示:

使用滴滴云弹性推理服务部署 Inception-v3 模型_第2张图片

导入模型文件

模型文件上传到滴滴云对象存储 S3 之后,需导入到滴滴云弹性推理服务 EIS 的模型空间。

用户可管理模型空间内的深度学习模型,一个模型可对应多个不同版本的模型文件。导入模型文件时,先创建一个模型,然后导入模型文件。

登录滴滴云控制台,在上方导航栏点击“机器学习”,进入机器学习产品线。在二级导航栏点击“模型空间”,管理深度学习模型。

在模型空间页面,点击“创建模型”按钮,在如下弹出的对话框中输入相关参数:

使用滴滴云弹性推理服务部署 Inception-v3 模型_第3张图片

模型文件创建之后,在“我的模型”模块可管理模型:

使用滴滴云弹性推理服务部署 Inception-v3 模型_第4张图片

点击模型模型名称指向的链接,进入模型详情页面:

使用滴滴云弹性推理服务部署 Inception-v3 模型_第5张图片

点击“上传文件”,将滴滴云 S3 上的 Inception-v3 模型文件导入模型空间:

使用滴滴云弹性推理服务部署 Inception-v3 模型_第6张图片

导入成功后如下图所示:

使用滴滴云弹性推理服务部署 Inception-v3 模型_第7张图片

创建推理服务

模型文件就绪之后,就可以创建 Inception-v3 模型的推理服务了。

在滴滴云机器学习产品线模块,点击“弹性推理”,进入弹性推理页面,点击“创建推理服务”按钮:

使用滴滴云弹性推理服务部署 Inception-v3 模型_第8张图片

选择刚刚上传的模型文件和对应的配置规格,点击“立即创建”按钮即可完成弹性推理服务的创建。

检查弹性推理服务的创建进度和状态,推理服务状态变为“可用”之后,就完成了 Inception-v3 模型推理服务的在线发布。

使用滴滴云弹性推理服务部署 Inception-v3 模型_第9张图片

执行推理任务

当 Inception-v3 模型推理服务状态为“可用”时,可通过推理服务释放的 API 执行推理任务。

inference-client 是滴滴云推理服务的 HTTP 客户端示例代码,目前支持 C++、Golang、Java、Python 等编程语言。这里以 Python Client Demo 为例,Python 文件夹里提供了一个咖菲猫的图片。

Inference Client GitHub 地址: https://github.com/didiyun/inference-client/

首先安装依赖环境,依赖的软件包在 requirements.txt 中有定义。

sudo pip install -r requirements.txt

下载下来 Demo 代码,编辑 inception.py。

修改 model spec 和 Token,其中 Token 为我们创建的 API Token,可以在这里 https://app.didiyun.com/#/api/authtoken 创建。

使用滴滴云弹性推理服务部署 Inception-v3 模型_第10张图片

接下来获取推理服务的 URL,在我的推理服务页面复制 URL 链接。

使用滴滴云弹性推理服务部署 Inception-v3 模型_第11张图片

执行如下命令:

python inception.py 

结果如下:

在这里插入图片描述

示例图片识别为" taby cat",推理服务执行成功!

你可能感兴趣的:(云计算,人工智能)