TorchServe - 深度学习 AMI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

TorchServe

TorchServe 是一款灵活的工具,用于提供已从中导出的深度学习模型 PyTorch。 TorchServe 预装了带有 Conda 的深度学习 AMI,从 v34 开始。

有关使用的更多信息 TorchServe,请参阅 PyTorch文档模型服务器

主题

在上提供图像分类模型 TorchServe

本教程介绍如何使用提供图像分类模型 TorchServe。它使用提供的 DenseNet -161 模型。 PyTorch 服务器运行后,它会监听预测请求。在这种情况下,如果您上传图像(一张小猫的图像),服务器会返回在其上训练该模型的类中匹配的前 5 个类的预测。

在上提供图像分类模型示例 TorchServe
  1. 使用带 Conda 的深度学习 AMI(v34 或更高版本)来连接到 Amazon Elastic Compute Cloud (Amazon EC2) 实例。

  2. 激活 pytorch_latest_p36 环境。

    source activate pytorch_latest_p36
  3. 克隆 TorchServe 存储库,然后创建一个目录来存储您的模型。 

    git clone https://github.com/pytorch/serve.git mkdir model_store
  4. 使用模型存档程序来存档模型。该extra-files参数使用TorchServe存储库中的文件,因此如有必要,请更新路径。 有关模型存档器的更多信息,请参阅 Torch 模型存档器。 TorchServe

    wget https://download.pytorch.org/models/densenet161-8d451a50.pth torch-model-archiver --model-name densenet161 --version 1.0 --model-file ./serve/examples/image_classifier/densenet_161/model.py --serialized-file densenet161-8d451a50.pth --export-path model_store --extra-files ./serve/examples/image_classifier/index_to_name.json --handler image_classifier
  5. 运行 TorchServe 以启动终端节点。添加 > /dev/null 会使日志输出静音。

    torchserve --start --ncs --model-store model_store --models densenet161.mar > /dev/null
  6. 下载小猫的图像并将其发送到 TorchServe预测端点:

    curl -O https://s3.amazonaws.com/model-server/inputs/kitten.jpg curl http://127.0.0.1:8080/predictions/densenet161 -T kitten.jpg

    该预测终端节点将返回一个 JSON 格式的预测(类似于下面的前 5 个预测),其中,图像具有 47% 的可能性为埃及猫,然后有 46% 的可能性为虎斑猫。

    { "tiger_cat": 0.46933576464653015, "tabby": 0.463387668132782, "Egyptian_cat": 0.0645613968372345, "lynx": 0.0012828196631744504, "plastic_bag": 0.00023323058849200606 }
  7. 当您完成测试时,停止服务器:

    torchserve --stop

其他示例

TorchServe 提供了各种各样的示例,您可以在 DLAMI 实例上运行这些示例。您可以在 TorchServe项目存储库示例页面上查看它们。

更多信息

有关更多 TorchServe 文档,包括如何 TorchServe使用 Docker 进行设置和最新 TorchServe 功能,请参阅上的 TorchServe GitHub项目页面