手把手從EasyDL模型訓練到EdgeBoard推理
摘要:
EdgeBoard是百度打造的基于FPGA的嵌入式AI解決方案系列硬件;EasyDL是百度推出的一站式AI定制化訓練和服務平臺。本文詳細介紹如何使用EasyDL進行模型訓練,然后部署到EdgeBoard,縮短從模型訓練到推理實現的路徑,提高開發效率。
EdgeBoard是百度自主研發的AI軟硬一體深度學習加速套件,能夠提供強大的算力,并支持定制化模型,適配不同場景的終端設備,大幅提高設備端的AI推理能力,具有高性能、高通用、易集成等優勢。EdgeBoard還可以無縫銜接百度大腦的開放能力,可以輕松將在EasyDL和AI Studio平臺定制的AI模型完美適配到EdgeBoard上。本文會介紹如何將EasyDL訓練的模型離線部署到EdgeBoard上,實現AI的終端應用。
EasyDL定制化訓練和服務平臺可以一站式定制AI模型,并且完全界面化操作,利用少量的數據就可以訓練出一個高精度的AI模型。

圖1. EasyDL界面
接下來我們準備以狗的分類作為實例來介紹從訓練到推理部署,首先介紹使用EasyDL進行模型訓練。
1、選擇訓練平臺
要完成狗的分類,需要使用圖像分類模型進行訓練,在EasyDL首頁中點擊開始訓練,選擇“經典版”訓練平臺,模型類型選擇圖像分類,如圖2所示。

圖2. 模型類型
2、準備數據集
下面是我們準備好的數據,共8分類,每個分類用50張左右的圖片用來訓練,剩下20張左右用來做推理測試。

圖3. 8類狗的照片文件

圖4. 狗的照片
3、創建數據集
根據EasyDL訓練模型的規則,首先我們創建數據集,將采集好的數據每個種類放到一個文件夾中,如圖2所示,再壓縮成一個zip文件,然后把數據集上傳到EasyDL平臺,如圖5所示。

圖5. 上傳數據集到EasyDL平臺
4、創建模型
數據集建立完成后,創建模型,根據需要填寫相應的信息,如圖6所示。

圖6. 創建模型
5、訓練模型
在訓練模型頁面中,應用類型選擇“離線服務”,算法選擇“高精度”和“高性能”都可以,添加數據集,開始訓練,如圖7所示。

圖7. 訓練模型
6、發布模型
訓練模型需要一定的時間,等模型訓練完成之后,我們點擊申請發布,跳轉到發布模型頁面,選擇“軟硬一體方案”的“EdgeBoard+專用SDK”,提交申請,如圖8所示。

圖8. 發布模型
五.下載SDK
審核成功后,點擊“服務詳情”,“下載SDK”,如圖9所示。


圖9. 下載SDK
至此,在EasyDL上的模型訓練結束,接下來將轉到EdgeBoard的推理實現上。
在圖9中,我們會看到有“管理序列號”的按鈕,如果購買了EdgeBoard,跳轉頁面中會有一個EdgeBoard專用的序列號,這是EasyDL模型在EdgeBoard上部署的通行證。

圖10. EdgeBoard專用序列號
下面我們就開始把模型部署到EdgeBoard上,下圖是EdgeBoard FZ9A系列硬件,EdgeBoard的技術文檔鏈接是:https://ai.baidu.com/docs#/EdgeBoard%20quick%20start/top

根據該技術文檔,需要將EasyDL離線SDK通過FTP或者samba工具傳到EdgeBoard系統中,然后將EdgeBoard專用序列號填寫到離線SDK中。

圖11. EdgeBoard上的文件
EdgeBoard內置Linux系統,我們將使用命令行的方式進行后面的部署操作。由于離線SDK在第一次使用時需要聯網激活,因此將EdgeBoard接入路由器,連通外網。

圖12. 測試網絡連接
同時,將EdgeBoard的時間改成當前時間,否則離線SDK可能會激活失敗,

圖13.修改本地時間

然后對離線SDK解壓,進入到EasyDL文件夾,解壓cpp文件夾中的tar包。

圖14. 解壓cpp文件中的tar包

根據官方文檔,編輯cpp-->demo文件夾中的demo.cpp文件,將EdgeBoard專用序列號填入指定的位置處,如圖15所示,改過之后,在demo文件夾中新建build文件夾,進行編譯。
圖15. 添加序列號

圖16. 編譯過程
編譯完成后,開始進行模型推理。我們放置一張圖片(如圖17)到RES文件夾中,調用RES資源文件夾中的模型,以及測試圖片的路徑,在build下運行命令,如圖18所示。
圖17. 待測試照片

圖18. 執行推理預測
從上面的打印信息中可以看到,EasyDL的模型在EdgeBoard上做出了完美的預測,corgi,分值p=0.999023,說明99%的概率是柯基,是不是很準。如果說這樣看起來不直觀,EasyDL的SDK還支持http服務的調用,下面來開啟一下http服務,如圖19所示。

圖19. 開啟http服務

開啟http服務后,在瀏覽器中寫入http://{EdgeBoard ip地址}:24401,比如EdgeBoard的ip是192.168.1.254,就寫http://192.168.1.254:24401就出來如圖18的顯示界面。
圖20. http服務顯示界面

點擊上傳圖片,選擇測試集中的狗的圖片,結果就立馬出來了,置信度為1說明,百分之百就是可愛的比熊啦!
圖21. 上傳圖片進行推理預測
至此,我們就完成了一個狗分類的模型訓練和離線部署。
福利
據可靠小道消息:EdgeBoard正在打折中,歷史最低價,降價1000元,有興趣可以看看:https://aim.baidu.com/product/5b8d8817-9141-4cfc-ae58-640e2815dfd4

























