1. 程式人生 > >開工的慾望 | AI Studio悄然上線新功能,用你的模型生成線上預測服務

開工的慾望 | 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