TorchServe - 深度學習 AMI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

TorchServe

TorchServe 是一種靈活的工具,可用於提供已從匯出的深度學習模型 PyTorch。 TorchServe 隨附與 Conda 的深度學習 AMI 一起預先安裝。

如需使用的詳細資訊 TorchServe,請參閱模型伺服器以取得 PyTorch文件

主題

提供影像分類模型 TorchServe

本自學課程展示如何使用提供影像分類模型 TorchServe。它使用由 PyTorch提供的 DenseNet -161 模型。 伺服器執行後,會偵聽預測要求。當您上傳圖像(在這種情況下是小貓的圖像)時,服務器返回對模型進行培訓的類中的前 5 個匹配類的預測。

若要提供範例影像分類模型 TorchServe
  1. 使用 Conda v34 或更新版本的深度學習 AMI Connect 到亞馬遜彈性運算雲端 (Amazon EC2) 執行個體。

  2. 啟用pytorch_p310環境。

    source activate pytorch_p310
  3. 克隆 TorchServe 存儲庫,然後創建一個目錄來存儲您的模型。 

    git clone https://github.com/pytorch/serve.git mkdir model_store
  4. 使用模型歸檔器封存模型。extra-files參數使用TorchServe回購中的文件,因此如有必要,請更新路徑。 如需有關模型歸檔程式的詳細資訊,請參閱的火炬模型歸檔程式。 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%,其次是 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 功能,請參閱上 GitHub的 TorchServe 專案頁面