七牛的自定義數據處理平台提供高性能 GPU 計算機群及自動伸縮容器集群方便開發者對雲存儲中的大量圖片/音視頻/文檔數據進行雲端機器學習,包括圖像分類、視頻分析、語音識別以及自然語言處理等等。簡單易用的自定義數據處理平台可以幫助開發者快速構建機器學習應用,實現在雲端進行訓練、分類和預測。
本文介紹如何使用七牛自定義數據處理平台快速部署一個機器學習在線預測系統。主要分為以下三個步驟:
- 第一步:構建機器學習應用容器鏡像
- 第二步:在平台上注冊及部署機器學習應用
- 第三步:使用機器學習系統在線預測
前期准備
- 一個七牛賬號
- 一個七牛雲存儲九折優惠碼:61d1fd4d
- 根據操作系統,下載相應版本的命令行工具 qdoractl。
- 本地運行 Docker 版本需為 1.12.0 及以上
- 一個已開發好的機器學習項目應用
本示例使用開源人臉識別項目 Openface 進行實踐, Openface 是用 Torch 和 Python 實現的一個基於深度神經網絡的開源人臉識別系統,該項目已提供 Docker 鏡像。
網址:https://cmusatyalab.github.io/openface/
一、構建機器學習應用鏡像
開發完機器學習應用后需要將其構建成一個基於 Linux ,可運行的 Docker 鏡像。Docker 鏡像在構建時需要在 Dockerfile 中指定入口程序(ENTRYPOINT 或 CMD),同時該入口需要滿足:
- 啟動后監聽 9100 端口
- 接受 HTTP POST /handler?cmd=XXX&url=XXX 的請求,並返回數據處理結果
- 在一個自定義的路徑上接收 HTTP GET 請求,並返回該程序當前的健康狀態(可選)
鏡像制作完畢后,建議在本地運行該 Docker 鏡像,並發送兩種數據請求和健康檢查請求,來確認鏡像功能正常。鏡像的構建和驗證可以參考 Demo。
二、在平台上注冊及部署機器學習應用
1、注冊七牛帳號,並使用七牛雲存儲九折優惠碼61d1fd4d 充值,
在個人頁面點擊充值,進入充值頁面

在充值頁面的下方有“使用優惠碼”選項。填入我們的2017年七牛最新的9折優惠碼: 61d1fd4d,點擊使用即可享受優惠折扣。
這里得說一下七牛的折扣是1萬以上95折,1萬以下99折。也就是說我們一次充值10001也是可以享受95折的。用最少的錢享受最大的優惠。
2、首先通過命令行 qdoractl 工具上傳機器學習應用的容器鏡像推送到七牛自定義數據處理鏡像倉庫,運行如下命令:
提示:怎么獲取或者找到Access Key 和 Secret Key
3、注冊一個機器學習應用,運行如下命令:
注:<ufop> 為機器學習應用在線預測時調用的接口名稱,只能由 0-9、a-z、-、_ 組成,第一位必須是字母,長度為 4-20 個字符以內。在自定義數據處理平台上具有唯一性,創建后不能修改。
本示例將開源人臉識別項目 Openface 注冊為 faced:
4、生成發布版本的配置文件,運行如下命令:
當前目錄會生成一份名叫 dora.yaml 的配置文件,該配置文件包含下列參數:
修改 dora.yaml 的配置文件。如下是一個已經修改好的配置文件的內容:
5、基於當前目錄下配置文件 dora.yaml,向服務器發出一個創建發布版本請求,運行如下命令:
6、調整實例數,創建完一個發布版本后,運行如下命令:
如例:
調整實例數命令成功后,命令行工具會提示查看這次實例調整的最終執行狀況,運行如下命令:
可以看到機器學習應用的兩個實例已經正常啟動了。
三、使用機器學習系統在線預測
機器學習應用的實例啟動之后,就可以直接通過 URL 調用注冊的接口名稱進行在線預測。使用方式如下:
本示例已經使用 Openface 項目對 Trump 的一些個人照片進行了學習訓練,當將從七牛雲存儲中訪問一張新的 Trump 的照片時,調用注冊的接口名稱 faced 識別是否為 Trump 的照片,得到如下信息:
表示 87% 的確認這張照片是 Trump 的照片。










