EasyDL專業版Notebook建模功能詳解
Jupyter Notebook是基于網頁的用于交互計算的應用程序,可以被應用于全過程計算:從開發、文檔編寫、到運行代碼和展示結果。簡而言之,Jupyter Notebook可以讓開發者直接在網頁頁面中編寫代碼和運行代碼,代碼的運行結果也會直接在代碼塊下顯示,同時如果在編程過程中需要編寫說明文檔,也可以在同一個頁面中直接編寫,便于作及時的說明和解釋。Notebook這種靈活簡便的交互方式十分適用于機器學習的學習和訓練,因為機器學習項目往往需要反復測試和實驗,以及編寫文檔記錄調參的過程,還可以在Notebook中進行數據可視化的代碼開發和展現,觀察實驗數據。總結來說,Jupyter Notetook本身具有以下特點:
1、編程時具有語法高亮、縮進、tab補全的功能
2、可直接在瀏覽器中以代碼塊為單位運行代碼,實時調試,運行輸出直接顯示在代碼塊下方
3、支持Markdown語法編寫說明文檔
4、支持使用LaTeX編寫數學性說明
5、支持數據可視化的展現,支持的格式包括 HTML, PNG, SVG等
可見,在AI開發過程中,Notebook開發方式可以幫助開發者更直觀、簡便地進行代碼編寫,提升模型的開發速度。百度大腦EasyDL零門檻AI開發平臺,一站式支持智能標注、模型訓練、服務部署等全流程功能,面向為企業開發者打造。EasyDL專業版支持深度開發高精度AI模型,為了向開發者們提供更易用、更靈活的開發環境,專業版在2020年4月份上線了Notebook功能,打通了 Jupyter Notebook在進行深度學習項目開發時的上下游環節,開發者在享受EasyDL一站式深度學習模型開發流程的同時,又能自由地使用任意合適的預訓練模型進行訓練和調參。具體來說,EasyDL專業版中的Notebook具有以下特點:
1、打通了EasyDL數據管理模塊,支持直接使用EasyDL中的數據集進行訓練,無須重復上傳
2、強大的代碼編輯靈活性,完全自定義的模型訓練環境,不受限于EasyDL腳本調參中內置的模型,從而滿足深度自定義的模型自編程需求
3、提供高性能GPU訓練資源(V100),并有充分的免費試用額度(目前為100小時)
4、在EasyDL操作臺中提供Notebook產出的模型多版本管理以及效果對比
5、提供一鍵服務部署,可進行臨時效果校驗和生產環境API級服務封裝
接下來我們通過使用流程介紹來逐步展現這些特點:
EasyDL專業版Notebook具體使用步驟:
1、首先,可以通過以下網址進入Notebook操作頁面:
https://ai.baidu.com/easydl/pro/app/projects/notebook/
若沒有登錄百度云賬號的,會先跳轉到登錄頁面,登錄成功后到達EasyDL專業版Notebook操作界面。
2、這個時候還沒有項目,我們來創建一個。點擊“馬上創建”,可以在彈窗中選擇任務類型,可選擇圖像分類的單標簽或多標簽、物體檢測,完成名稱等信息的填寫后即可創建。
展示中選擇的是物體檢測,在后面生成的代碼模板會根據選擇模型的不同而作出對應調整。
3、創建項目后,會獲得一個空模型版本。接下來要準備打開Notebook進行操作了,點擊這里的“配置環境”,進來需要選一下PaddlePaddle版本、Python版本、以及GPU型號。現在默認都是GPU V100,限時100小時免費,無論從價值還是配置,都非常優秀。
4、點擊“啟動Notebook”,啟動時常約3-5分鐘。
5、啟動成功后,我們即可進入Notebook界面:左邊欄可以查看文件夾、數據集、運行環境和相關設置,右側顯示了入口的Notebook和一個終端。
我們注意看下文件夾,默認保留了三個文件夾,均與EasyDL的相關服務有關聯,請勿隨意刪除。
-PretrainedModel文件夾: 存放notebook中訓練出的模型,可以用于后續在EasyDL中進行模型保存和發布
-data文件夾:存放數據集的目錄,初始時候是空的,后面從EasyDL導入的數據會存放在這里,具體導入步驟我們下一步再看
-demo文件夾: 存放的預置的示例代碼,使用入口是demo/train.sh
6、接下來即可進入訓練環節。首先,在數據準備時,Notebook開發環境作為EasyDL專業版的一部分,可與EasyDL專業版共享數據集,直接進行導入:
- 先點擊左側導航欄中的【數據集】,進入后點擊【導入數據集】,會彈出所有已經在專業版上已經上傳的數據集,可根據需要選擇相應數據集進行導入。
- 選擇后,在數據集tab下即可查看到選擇的數據集正在進行導入,導入時長與數據集大小正相關。
7、下一步來到運行訓練代碼,我們可以直接用示例代碼來先跑跑看,示例代碼入口是demo/train.sh, 第一個參數是數據集路徑,第二個參數是運行導出的模型路徑。這里數據集的路徑需要我們修改成實際導入的數據集路徑,一般是/home/work/data/${dataset_id}, 這里dataset_id可以從數據集導入邊欄里看到,也可以在導入成功之后直接查看data文件夾。
8、數據集路徑也可以在Notebook代碼中進行修改,點擊運行即可開始訓練模型。這里我用的是mnist的數據集,但是修改了框出的數字的位置,變成了物體檢測的數據集。
此時,我們在【終端-1】中,可以看到訓練任務正在運行:
9、運行完成速度與數據量有關,在完成后可以看到在PretrainedModel文件夾下有了這些模型文件:
10、大家可以對模型再進行調優,不過記住產出的模型都需要放在PretrainedModel文件夾下面,接著我們來發布這個demo模型
a)首先需要對模型進行保存,點擊上方的【保存模型】,會回到EasyDL的操作臺上進行發布
b) 首先在彈窗中選擇模型框架。此處可以選擇【生成新版本】或是【覆蓋現有可升級模型】
選擇【生成新版本】即可在EasyDL控制臺的項目下就會出現一個新版本
選擇【覆蓋現有可升級模型】即可覆蓋EasyDL操作臺顯示的舊版本
c) 然后選擇要保存的文件,需要注意的是,此處的幾個文件都必須選中,否則會導致發布失敗
d) 然后選擇對應的代碼進行保存:
e)最后點擊生成,稍等后就會收到提示:“版本生成成功”
11、回到EasyDL專業版的操作臺,由于保存的時候選擇了【生成新版本】,可以看到此處已經增加了新建的V2版本:
12、然后點擊模型配置,準備發布。此處,可以填寫模型的相關信息,下一步選擇模型文件,也就是剛才在Notebook頁面保存模型時選擇的文件:
之后可以對出入參、模型預測時的預處理及后處理代碼進行編輯。例如,我想修改發布后預測接口返回字段的格式,這里加了個size字段,可以參考下圖稍做改動,點擊提交。
13、提交之后,在專業版的操作臺,可以看到V2版本的狀態處于“代碼驗證中”,稍等狀態變成有效之后,可以點擊“效果校驗”,生成demo。
14、點擊“效果校驗”,啟動模型校驗:
15、稍等幾分鐘,啟動完成之后,我們用一張圖來測試下,可以看到識別出了數字是1(預測標簽為1),而且標注出了數字的位置,模型的效果較好。
16、最后進行正式部署,可以看看新添加自定義size字段是否會出現:
a) 點擊正式部署,填寫API名稱和自定義URL字段
b) 狀態進入審核中,審核結束后即可進行API調用
c) 審核通過后,可以看到服務詳情,包含設置的調用URL
d) 此時可以嘗試調用API,具體的調用鑒權問題,可以參考官方文檔:
https://ai.baidu.com/ai-doc/EASYDL/Dk38n3yck
在下方,可以看到調用結果中有"size"屬性了:
對Notebook開發方式感興趣的開發者,可以對照以上流程在EasyDL專業版上進行Notebook建模。后續EasyDL還會在這個基礎上不斷進行迭代升級,包括在Notebook中提供豐富的預置預訓練模型、Notebook代碼自動遷移至EasyDL分布式訓練集群等功能,為開發者提供更加靈活易用的AI模型開發方式。
EasyDL是基于飛槳深度開發平臺為企業級開發者打造的零門檻AI開發平臺,提供數據處理、模型訓練、模型部署全流程功能。其中,EasyDL專業版是面向專業算法工程師群體,專門推出的AI模型開發與服務平臺,內置了百度海量數據訓練的預訓練模型,可以在少量訓練數據上達到更優的訓練效果。在模型的服務部署方面,EasyDL支持將模型發布為公有云API、設備端SDK、似有服務器部署和軟硬一體方案部署,企業可以根據具體的模型應用場景選擇適應的部署方式。目前,已經在零售、工業質檢、安全生產、互聯網內容安全等多個行業成功落地,幫助企業完成智能化轉型,達成降本增效的目標。
百度搜索“EasyDL專業版”或直接訪問:
https://ai.baidu.com/easydl/pro,立即上手Notebook開發!