開工第一天,小伙伴們是不是還沒有從過年的狀態轉換過來?今天給大家介紹一個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
-
Python