TorchServe - 深度学习 AMI

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

TorchServe

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

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

主题

在上提供图像分类模型 TorchServe

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

在上提供图像分类模型示例 TorchServe
  1. 使用 Conda v34 或更高版本通过深度学习AMI连接到亚马逊弹性计算云 (AmazonEC2) 实例。

  2. 激活 pytorch_p310 环境。

    source activate pytorch_p310
  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类似,其中图像包含埃及猫的概率为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项目页面