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

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

TorchServe

TorchServe 是一个灵活的工具,用于处理从 PyTorch. TorchServe 预装了深度学习 AMI,Conda 从 v34 开始。

有关使用的更多信息 TorchServe,请参阅Model Server PyTorch文档.

主题

在上处理图像分类模型 TorchServe

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

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

  1. 使用 Conda v34 或更高版本的深度学习 AMI Connect 亚马逊Elastic Compute Cloud (Amazon EC2) 实例。

  2. 激活pytorch_latest_p36环境。。。。

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

    git clone https://github.com/pytorch/serve.git mkdir model_store
  4. 使用模型存档器存档模型。这些区域有:extra-filesparam 使用来自TorchServerepo,所以如有必要,请更新路径。 有关模型归档程序的更多信息,请参阅的火炬模型存档器 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 具有可在上运行的各种示例。你可以在这 TorchServe项目存储库示例页面.

更多信息

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