開工的慾望 | AI Studio悄然上線新功能,用你的模型生成線上預測服務
開工第一天,小夥伴們是不是還沒有從過年的狀態轉換過來?今天給大家介紹一個AI Studio新功能,能讓大家用自己訓練好的模型,輕鬆生成線上預測服務,通過線上API呼叫,而且是免費的哦~
大家是不是已經躍躍欲試了呢?那就快到AI Studio親自體驗一下吧。希望這個開年小“福利”,能幫助大家儘快找到開工的感覺。
經常登入AI Studio的朋友可能早就發現——AI Studio改版了:
這次升級,AI Studio不光調整了前端頁面,還增加了不少新功能,其中就包含我們今天要說的線上部署及預測功能。
功能說明
線上部署與預測為開發者提供訓練模型嚮應用化API轉換的功能. 開發者在AI Studio平臺通過單機專案NoteBook頁面完成模型訓練後, 通過建立一個線上服務, 應用模型生成線上API, 使用該API可以直接檢驗模型效果或實際應用到開發者的私有專案中.目前, 該功能暫時僅對單機專案開放。
通過訓練任務生成模型檔案
在訓練任務過程中, 通過呼叫paddle.fluid.io.save_inference_model`實現模型的儲存,儲存後的目錄需要可以被線上服務使用. 我們以房價預測的線性迴歸任務為例, 具體程式碼如下
使用已有模型, 可以通過!wget在Notebook中傳輸模型檔案到環境目錄。以房價預測的線性迴歸模型為例, 通過!wget https://ai.baidu.com/file/4E1D1FCC670E4A5E8441634201658107 -O fit_a_line.inference.model傳輸檔案, 解壓後直接被線上服務使用.
建立一個線上服務
完成模型訓練後, 在單機專案頁面點選【建立預測服務】
第一步 選擇模型檔案
勾選模型檔案
設定主程式, 主程式為paddle.fluid.io.save_inference_model中引數main_program配置的程式, 在房價預測的示例中,我們使用預設引數呼叫save_inference_model, 因此將__model__檔案設定為主程式.
第二步 確認輸入輸出
填寫模型的輸入輸出引數. 以房價預測的線性迴歸模型為例(引數參考), 新增引數如下圖所示.
第三步 製作引數轉換器
引數轉換器幫助使用者轉化合法輸入並完成資料預處理.
方式一:自定義轉換器(Python2.7)(推薦).
輸入引數轉換器方法
輸出引數轉換器方法
轉換器程式碼示例, 以房價預測為例.
輸入引數轉換器:
輸出引數轉換器:
方式二: 預設引數, 不設定轉換器.
使用者的API引數直接傳遞給模型.
第四步 沙盒部署
使用者可以同時部署之多五個沙盒服務, 用來對比模型優化結果.
錄入名稱點選【生成沙盒】或者點選【暫存】將沙盒儲存到草稿箱.
測試沙盒服務
對沙盒列表中的沙盒服務進行測試,驗證是否配置正確。
第一步 點選【測試】開啟測試頁面
第二步 填寫json格式請求引數
第三步 點選【傳送】檢驗返回結果
部署線上服務
點選【正式部署】部署線上API.
一個專案可以建立五個沙盒服務, 並選擇其中一個沙盒服務部署為線上服務.
沙盒服務如果連續超過24小時無呼叫將自動調整為暫停狀態.
線上服務如果連續超過14天無呼叫將自動調整為暫停狀態.
呼叫線上服務
依據API key、服務地址和使用者自定義引數, 實現對服務的呼叫.
請求方式
HTTP請求URL: [服務地址] [?] [apiKey=xxx]
HTTP請求方法: POST
HTTP Body: 使用者自定義引數
呼叫示例
以房價預測專案為例.
CURL