深度学习 AMI
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

适用于 Apache MXNet 的模型服务器 (MMS)

适用于 Apache MXNet 的模型服务器 (MMS) 是一个灵活的工具,用于处理从 Apache MXNet (incubating) 导出的深度学习模型。MMS 随 DLAMI with Conda 一起预安装。本教程面向 MMS,将演示如何处理图像分类模型并指导您查找 DLAMI with Conda 上包含的 Single Shot Detector (SSD) 示例。

在 MMS 上处理图像分类模型

本教程介绍如何利用 MMS 处理图像分类模型。该模型通过 MMS Model Zoo 提供,在您启动 MMS 时自动进行下载。在服务器开始运行后,它会立即侦听预测请求。在这种情况下,如果您上传图像 (一个小猫的图像),服务器会返回在其上训练该模型的 1,000 类中匹配的前 5 个类的预测。有关模型、模型的训练方式以及模型的测试方式的更多信息可在 MMS Model Zoo 中找到。

在 MMS 上处理示例图像分类模型

  1. 连接到 采用 Conda 的 Deep Learning AMI 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。

  2. 激活 MXNet 环境:

    $ source activate mxnet_p36
  3. 使用以下命令运行 MMS。此命令还将下载该模型并处理它。

    $ mxnet-model-server \ --models squeezenet=https://s3.amazonaws.com/model-server/models/squeezenet_v1.1/squeezenet_v1.1.model

    MMS 现在正在您的主机上运行并且正在侦听推理请求。

  4. 要测试 MMS,请在新的终端窗口中连接到运行 DLAMI 的实例。

  5. 下载一个小猫图像并将其发送到 MMS 预测终端节点:

    $ curl -O https://s3.amazonaws.com/model-server/inputs/kitten.jpg $ curl -X POST http://127.0.0.1:8080/squeezenet/predict -F "data=@kitten.jpg"

    该预测终端节点将返回一个 JSON 格式的预测 (类似于下面的前 5 个预测),其中,图像具有 94% 的可能性为埃及猫,然后有 5.5% 的可能性为猞猁或山猫:

    { "prediction": [ [{ "class": "n02124075 Egyptian cat", "probability": 0.940 }, { "class": "n02127052 lynx, catamount", "probability": 0.055 }, { "class": "n02123045 tabby, tabby cat", "probability": 0.002 }, { "class": "n02123159 tiger cat", "probability": 0.0003 }, { "class": "n02123394 Persian cat", "probability": 0.0002 } ] ] }

本教程重点介绍基本模型处理。如果您要了解有关其他 MMS 功能的更多信息,请参阅 GitHub 上的 MMS 文档。

多类别检测示例

DLAMI with Conda 包含一个示例应用程序,该应用程序使用 MMS 处理 Single Shot MultiBox Detector (SSD) 模型。要查看该示例,请在终端中打开 DLAMI,然后导航到 ~/tutorials/MXNet-Model-Server/ssd 文件夹。有关运行该示例的说明,请参阅 README.md 文件或 MMS GitHub 存储库中的最新示例版本

更多信息

要查看更多 MMS 示例—(例如导出模型和使用 Docker 设置 MMS 的示例)—或利用最新 MMS 功能,请为 GitHub 上的MMS 项目页面加星号。