研發工程師手把手教你實踐Notebook開發方式

Jupyter Notebook是基於網頁的用於交互計算的應用程序,可以被應用於全過程計算:開發、文檔編寫、運行代碼和展示結果。Notebook這種交互方式特別適用於機器學習的學習和訓練,現在越來越多的廠商提供基於Notebook的產品或者平臺,EasyDL專業版也在2020年4月份上線了Notebook功能,該功能具有以下特點:

  1. 強大的代碼編輯靈活性,滿足深度自定義的模型自編程需求

  2. 提供高性能GPU訓練資源(V100),並有充分的免費試用額度(目前爲100小時)

  3. 打通EasyDL數據管理模塊,支持高效數據導入

  4. 提供模型多版本管理以及效果對比

  5. 一鍵服務部署,並提供API級服務封裝

接下來我們通過試過介紹來逐步展現這些特點:

EasyDL專業版Notebook具體使用步驟:

  1. 進入notebook操作頁面https://ai.baidu.com/easydl/pro/app/projects/notebook ,若沒有登錄百度雲賬號的,會先跳轉到登錄頁面,登錄成功後到達EasyDL專業版Notebook操作界面。
    在這裏插入圖片描述

  2. 這個時候還沒有項目,我們來創建一個。點擊“馬上創建”,會有一個彈窗出來,這裏需要選擇任務類型是分類單標籤/多標籤還是物體檢測,然後填好其它信息就可以創建啦。這裏我選的是物體檢測,在後面生成的代碼模板會根據選擇模型的不同而作出對應調整。
    在這裏插入圖片描述

  3. 創建項目後,會獲得一個空模型版本。接下來要準備打開notebook進行操作了,點擊這裏的“配置環境”,進來需要選一下paddle的版本,python的版本,以及GPU型號。現在默認都是GPU V100,限時免費,不僅超值,且配置非常優秀。
    在這裏插入圖片描述
    在這裏插入圖片描述

  4. 點擊“啓動Notebook”,此處可能需要稍等幾分鐘。

  5. 啓動成功後,我們即可進入notebook:左邊欄可以查看文件夾、數據集、運行環境和相關設置,右邊顯示了入口的Notebook和一個終端。
    我們注意看下文件夾,默認保留了三個文件夾,均與EasyDL的相關服務有關聯,請勿隨意刪除。
    -PretrainedModel文件夾: 存放notebook中訓練出的模型,可以用於後續在EasyDL中進行模型保存和發佈
    -data文件夾:存放數據集的目錄,初始時候是空的,後面從EasyDL導入的數據會存放在這裏,具體導入步驟我們下一步再看
    -demo文件夾: 存放的預置的示例代碼,使用入口是demo/train.sh
    在這裏插入圖片描述

  6. 接下來就可以進入訓練環節。首先,需要準備好數據,Notebook開發環境作爲EasyDL專業版的一部分,與EasyDL專業版可共享數據集,可直接進行導入:

  • 先點擊左側導航欄的數據集,然後點擊導入數據集,就可以選擇若干個在專業版中已上傳的數據集進行導入
    在這裏插入圖片描述

  • 此時,在數據集tab下可以查看到選擇的數據集正在進行導入
    在這裏插入圖片描述

  1. 接下來看一下運行訓練代碼,我們可以直接用示例代碼來先跑跑看,示例代碼入口是demo/train.sh, 第一個參數是數據集路徑,第二個參數是運行導出的模型路徑。這裏數據集的路徑需要我們修改成實際導入的數據集路徑,一般是/home/work/data/${dataset_id}, 這裏dataset_id可以從數據集導入邊欄裏看到,也可以在導入成功之後直接查看data文件夾。
    在這裏插入圖片描述
  2. 然後可以Notebook代碼中修改數據集路徑,點擊運行即可開始訓練模型。這裏我用的是mnist的數據集,但是修改了框出的數字的位置,變成了物體檢測的數據集。
    在這裏插入圖片描述
    這個時候我們在終端ps看一下,可以看到訓練任務正在運行:
    在這裏插入圖片描述
  3. 運行完成速度與數據量有關,在完成後可以看到在PretrainedModel文件夾下有了這些模型文件:
    在這裏插入圖片描述
  4. 大家可以對模型再進行調優,不過記住產出的模型都需要放在PretrainedModel文件夾下面,接着我們來發布這個demo模型

a) 要到EasyDL的操作檯上進行發佈,首先需要對模型進行保存:點擊文件→保存模型
在這裏插入圖片描述
b) 首先在彈窗中選擇模型框架。
選擇生成“新版本”,在EasyDL控制檯的項目下就會有個新版本
選擇“覆蓋現有可升級模型”,就會覆蓋EasyDL操作檯顯示的舊版本
在這裏插入圖片描述
c) 然後選擇要保存的文件:注意這裏選擇的幾個文件都是必須選中的,否則會導致發佈失敗!
在這裏插入圖片描述
d) 然後選擇對應的代碼進行保存:
在這裏插入圖片描述
e)最後點擊生成,稍等後就會收到提示:“版本生成成功”!

  1. 然後我們回到EasyDL專業版的操作檯,由於保存的時候選的是生成新版本,這裏可以比開始多了一個V2版本:
    在這裏插入圖片描述
  2. 然後點擊模型配置,準備發佈。這裏可以填寫模型的相關信息,然後選擇模型文件,也就是剛纔在Notebook頁面保存模型時選擇的文件:
    在這裏插入圖片描述
    之後可以對出入參、模型預測時的預處理及後處理代碼進行編輯。比如我想修改發佈後預測接口返回字段的格式,這裏加了個size字段,可以參考下圖稍做改動,點擊提交。
    在這裏插入圖片描述
  3. 提交之後,在專業版的操作檯,可以看到V2版本的狀態處於“代碼驗證中”,稍等狀態變成有效之後,可以點擊“效果校驗”,生成demo。
    在這裏插入圖片描述
  4. 點擊“效果校驗”,啓動模型校驗:
    在這裏插入圖片描述
  5. 稍等幾分鐘,啓動完成之後,我們用一張圖來測試下,可以看到識別出了數字是1(預測標籤爲1),而且標註出了數字的位置,模型的效果較好。
    在這裏插入圖片描述
  6. 最後進行正式部署,看看新添加自定義size字段是不是會出現:

a) 點擊正式部署,填寫API名稱和自定義URL字段
b) 然後就會到審覈中的狀態了,在審覈結束後即可進行API調用
在這裏插入圖片描述
c) 審覈通過了,可以看到服務詳情,裏面有我們設置的調用的URL
在這裏插入圖片描述
d) 此時可以嘗試調用API,具體的調用鑑權問題,可以參考官方文檔:https://ai.baidu.com/ai-doc/EASYDL/Dk38n3yck
在下方,可以看到調用結果中有"size"屬性了:
在這裏插入圖片描述
以上爲EasyDL Notebook建模功能完整使用流程介紹,後續EasyDL還會在這個基礎上不斷進行迭代升級,包括在Notebook中提供豐富的預置預訓練模型、Notebook代碼自動遷移至EasyDL分佈式訓練集羣等功能,爲開發者提供更加靈活易用的AI模型開發方式。

EasyDL是基於飛槳深度開發平臺爲企業級開發者打造的零門檻AI開發平臺,提供數據處理、模型訓練、模型部署全流程功能。其中,EasyDL專業版支持開發者深度開發高精度AI模型,全面支持飛槳Master模式,內置百度海量數據訓練的預訓練模型,可以在少量訓練數據上達到更優的訓練效果。

立即嘗試EasyDL專業版:https://ai.baidu.com/easydl/pro

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章