使用滴滴雲彈性推理服務部署 Inception-v3 模型

java06051515發表於2019-03-18

近期推出了彈性推理服務 EIS(Elastic Inference Service)。藉助滴滴雲 EIS 可快速將在主流深度學習框架上訓練的模型釋出為線上推理服務,效能較 TensorFlow Serving 有明顯的提高。

相比較傳統的推理服務釋出模式, 彈性推理服務 EIS 具有如下特點:

  1. 易用 :無需考慮基礎架構,僅需關注模型和推理服務。
  2. 高可用 :滴滴雲彈性推理服務自帶高可用保障和容錯機制。
  3. 易管理 :模型的升級等可一鍵完成。
  4. SLA 保障 :根據購買的例項規格提供 QPS 保障。

本教程透過一個 Inception-v3 模型的例子說明如何在滴滴雲彈性推理服務 EIS 上部署模型,進而使用該模型執行線上推理任務。本教程包括如下步驟:

  • 準備模型檔案
  • 把模型檔案上傳到滴滴雲物件儲存服務 S3
  • 把模型檔案從 S3 匯入到EIS模型空間
  • 建立推理服務
  • 執行推理任務

準備模型檔案

彈性推理服務 EIS 目前支援 TensorFlow、Pytorch、Caffe、Caffe2 等主流深度學習框架。

在上傳模型檔案之前,請將模型檔案壓縮成 tar、tar.gz、tar.bz2、tgz、zip 中的任意一種壓縮格式。

模型檔案目錄格式如下圖所示:

上傳模型檔案

模型檔案準備好之後需要上傳到滴滴雲物件儲存服務 S3上。如何使用滴滴雲物件儲存服務 S3 請參見:< >

本教程使用的 inception.tar 檔案上傳後如下圖所示:

匯入模型檔案

模型檔案上傳到滴滴雲物件儲存 S3 之後,需匯入到滴滴雲彈性推理服務 EIS 的模型空間。

使用者可管理模型空間內的深度學習模型,一個模型可對應多個不同版本的模型檔案。匯入模型檔案時,先建立一個模型,然後匯入模型檔案。

登入滴滴雲控制檯,在上方導航欄點選“機器學習”,進入機器學習產品線。在二級導航欄點選“模型空間”,管理深度學習模型。

在模型空間頁面,點選“建立模型”按鈕,在如下彈出的對話方塊中輸入相關引數:

模型檔案建立之後,在“我的模型”模組可管理模型:

點選模型模型名稱指向的連結,進入模型詳情頁面:

點選“上傳檔案”,將滴滴雲 S3 上的 Inception-v3 模型檔案匯入模型空間:

匯入成功後如下圖所示:

建立推理服務

模型檔案就緒之後,就可以建立 Inception-v3 模型的推理服務了。

在滴滴雲機器學習產品線模組,點選“彈性推理”,進入彈性推理頁面,點選“建立推理服務”按鈕:

選擇剛剛上傳的模型檔案和對應的配置規格,點選“立即建立”按鈕即可完成彈性推理服務的建立。

檢查彈性推理服務的建立進度和狀態,推理服務狀態變為“可用”之後,就完成了 Inception-v3 模型推理服務的線上釋出。

執行推理任務

當 Inception-v3 模型推理服務狀態為“可用”時,可透過推理服務釋放的 API 執行推理任務。

inference-client 是滴滴雲推理服務的 HTTP 客戶端示例程式碼,目前支援 C++、Golang、Java、Python 等程式語言。這裡以 Python Client Demo 為例,Python 資料夾裡提供了一個咖菲貓的圖片。

Inference Client GitHub 地址: 

首先安裝依賴環境,依賴的軟體包在 requirements.txt 中有定義。

sudo pip install -r requirements.txt

下載下來 Demo 程式碼,編輯 inception.py。

修改 model spec 和 Token,其中 Token 為我們建立的 API Token,可以在這裡  建立。

接下來獲取推理服務的 URL,在我的推理服務頁面複製 URL 連結。

執行如下命令:

python   inception . py < https : //e18e555c.eis.didiyunapi.com/v1/model/predict>

結果如下:

示例圖片識別為” taby cat”,推理服務執行成功!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559758/viewspace-2638392/,如需轉載,請註明出處,否則將追究法律責任。

相關文章