摘要:簡介 市面上基于嵌入式平臺的神經(jīng)網(wǎng)絡(luò)加速平臺有很多,今天給大家?guī)硎前俣却竽X出品的EdgeBoard。按照官網(wǎng)文檔 的介紹,EdgeBoard是基于Xilinx Zynq Ultrascale+ MPSoC系列芯片打造的一款深度學(xué)習(xí)加速套件,也就是比較常 見的利用FPGA進行加速的方案。 開箱 收到的EdgeBoard,是一個淡黃的紙盒子,將其打開,里面...
簡介
市面上基于嵌入式平臺的神經(jīng)網(wǎng)絡(luò)加速平臺有很多,今天給大家?guī)硎前俣却竽X出品的EdgeBoard。按照官網(wǎng)文檔的介紹,EdgeBoard是基于Xilinx Zynq Ultrascale+ MPSoC列芯片打造的一款深度學(xué)習(xí)加速套件,也就是比較常見的利用FPGA進行加速的方案。
開箱
收到的EdgeBoard,是一個淡黃的紙盒子,將其打開,里面共有四樣物品,分別為
EdgeBoard本體一塊,相比官網(wǎng)上的圖片,多出了散熱器、風(fēng)扇以及起到保護作用的亞克力板
已經(jīng)刷好固件的SD卡一張
12V2A適配器一個,接頭為2P間距為3.81的接線端子
MicroUSB線一條
EdgeBoard板子做工不錯,按照官網(wǎng)資料,他分為主板和電源板兩部分,加上散熱器后組合后的長寬高為120×80×50。板子具體的硬件資源就不過多介紹了,官方目前也沒公布具體硬件框圖。
啟動系統(tǒng)
將配套SD卡插入電腦,可以發(fā)現(xiàn)他已經(jīng)燒錄好了固件,應(yīng)該是可以直接啟動的(官方資料內(nèi)沒有找到燒錄SD卡的方式,如果這張卡丟了的話……)
1. 將SD卡插入SD卡槽,使用MicroUSB線連接電腦,設(shè)備管理器里會出現(xiàn)USB to UART的設(shè)備。
2. 使用任意串口終端打開串口(以Xshell為例),COM口號設(shè)置為設(shè)備管理所看到的串口號,其余設(shè)置如下
Band Rate: 115200
Data Bits:8
Stop Bits:1
Parity: None
Flow Control: None
3. 將接線端子連接到電源插座,接通電源適配器,可以看到電源燈亮起,風(fēng)扇傳來了怒吼,這個風(fēng)扇實測轉(zhuǎn)速為6000轉(zhuǎn),長時間調(diào)試時候,噪音略微明顯。上電后,可以看到串口終端內(nèi)顯示出了boot數(shù)據(jù)。
XilinxZynqMPFirstStageBootLoaderRelease2017.4Apr232019-13:19:54NOTICE:ATFrunningonXCZU9EG/siliconv4/RTL5.1at0xfffea000,withPMUfirmwareNOTICE:BL31:Securecodeat0x0NOTICE:BL31:Nonsecurecodeat0x8000000NOTICE:BL31:v1.3(release):47af34bNOTICE:BL31:Built:04:10:38,Apr232019U-Boot2017.01(Apr232019-12:20:25+0800)XilinxZynqMPZCU102revBforOpenAiI2C:readyDRAM:2GiBELLevel:EL2ChipID:xczu9egMMC:sdhci@ff160000:0(eMMC),sdhci@ff170000:1(SD)readinguboot.env
可以看到Xilinx特有的FSBL數(shù)據(jù),從中可以看出這個板子的基本配置應(yīng)該是ZCU102的精簡版,配備了2G的DRAM。等待幾秒鐘后,kernel啟動完畢,串口內(nèi)出現(xiàn)登錄信息。
PetaLinux2017.4edge_board/dev/ttyPS0edge_boardlogin:
輸入用戶名root,密碼root,即可進入系統(tǒng),出現(xiàn)了終端標識,代表啟動成功。
root@edge_board:~#
總結(jié):系統(tǒng)啟動還是比較容易的,不過在啟動過程中遇到一個問題,如果插著網(wǎng)線的話,U-Boot會選擇從網(wǎng)絡(luò)啟動,會導(dǎo)致系統(tǒng)啟動偏慢
配置SSH與SMB開發(fā)環(huán)境
EdgeBorad已經(jīng)配置好了SSH終端以及SMB文件共享服務(wù)器,也可參照官方使用步驟:https://ai.baidu.com/docs#/EdgeBoard%20quick%20start/23cb95ae
1. 在串口終端查看板子IP
root@edge_board:~#ifconfigeth0Linkencap:EthernetHWaddr00:0a:35:00:00:09inet6addr:fe80::20a:35ff:fe00:9/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:39errors:0dropped:0overruns:0frame:0TXpackets:122errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:4964(4.8KiB)TXbytes:25813(25.2KiB)Interrupt:30eth0:avahiLinkencap:EthernetHWaddr00:0a:35:00:00:09inetaddr:169.254.1.162Bcast:169.254.255.255Mask:255.255.0.0UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
Interrupt:30loLinkencap:LocalLoopbackinetaddr:127.0.0.1Mask:255.0.0.0inet6addr:::1/128Scope:HostUPLOOPBACKRUNNINGMTU:65536Metric:1RXpackets:2errors:0dropped:0overruns:0frame:0TXpackets:2errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1RXbytes:140(140.0B)TXbytes:140(140.0B)
2. 使用串口讀出來的IP,本例中為169.254.1.162即可連接上SSH與SMB。本地輸入:\169.254.1.162 即可訪問edgeboard文件。Win7系統(tǒng)需要注意一些配置,具體請查看Edgeboard使用說明。
總結(jié):環(huán)境都配置好了,上手還是很簡單,在用戶目錄下發(fā)現(xiàn)存在.xfce4的配置文件,莫非帶了圖形界面?手頭沒有DP線,后面會試試。
EasyDL+EdgeBoard搭建帶性別檢測的人臉識別模型
Edge的賣點之一,就是支持導(dǎo)入EasyDL生成的模型,EasyDL平臺是一個使用幾十、幾百張圖片就能訓(xùn)練出一個效果還不錯的模型訓(xùn)練平臺,官方宣稱,對于不了解深度學(xué)習(xí)用戶,可以僅僅依靠可視化操作即可完成深度學(xué)習(xí)訓(xùn)練。
1. 登錄EasyDl官網(wǎng)創(chuàng)建物體檢測模型 http://ai.baidu.com/easydl/。
2. 創(chuàng)建訓(xùn)練的數(shù)據(jù)集,本次測試在百度新聞里抓取了20張包含人臉的圖片。
3. 數(shù)據(jù)集標注,Easydl支持在線標注,只需選中圖片用鼠標在圖片上拉出一個框即可。
4. 數(shù)據(jù)集標注完成后即可訓(xùn)練模型,由于要測試的模型是基于SSD的目標檢測,所以此次選中精度較低模型。(高精度是基于RetinaNet的模型),點擊開始訓(xùn)練,大概需要30分鐘左右,即可訓(xùn)練完成。
5. 在線校驗?zāi)P停?xùn)練完成后點擊校驗?zāi)P停梢圆榭礈y試模型訓(xùn)練效果。此次發(fā)現(xiàn)誤識別一個女生為男生,猜測大概是訓(xùn)練集太小,不過人臉識別功能到是沒問題。
6. 模型導(dǎo)出:由于Easydl還沒正式發(fā)布模型導(dǎo)出功能,因此此次是通過聯(lián)系后臺人員導(dǎo)出的模型。7. 將Easydl導(dǎo)出的模型,通過SMB傳輸?shù)紼dgeBoard內(nèi)替換原有的params、model.encrypted:
\169.254.1.162\roothome\workspace\sample\sample_easydl\model
8. 重新編譯模型,步驟如下:
insmod/home/root/workspace/driver/fpgadrv.kocd/home/root/workspace/sample/sample_easyd//如果沒有build目錄,創(chuàng)建一個mkdirbuildcdbuildrm-rf*cmake..make
9. 編程成功之后,運行預(yù)測程序。
a、在網(wǎng)絡(luò)上隨意下載一張人物圖,修改名字為1.jpg并替換\\169.254.1.162\roothome\workspace\sample\sample_easydl\image內(nèi)的原有圖片。b.執(zhí)行./paddle_edgeboard
10. 查看圖片輸出結(jié)果。 打開\169.254.1.162\roothome\workspace\sample\sample_easydl\build\result.jpg和命令行預(yù)測出的四個目標一致,這里由于沒有調(diào)整閾值所以檢測出來四個框。
總結(jié):本次是創(chuàng)建了一個簡單的Easydl模型并且數(shù)據(jù)集準備的也小,所以精度不是很高,從可用性和快速部署方面Edgeboard和Easydl的結(jié)合可以幫助我們快速開發(fā)相關(guān)應(yīng)用產(chǎn)品。
運行usb攝像頭輸入預(yù)測示例
通過官方文檔,發(fā)現(xiàn)板子支持USB攝像頭以及海思的IPC攝像頭接口,翻箱倒柜找到了兩個攝像頭接下來我們就試試用USB攝像頭進行實時的輸入檢測。
1. 連接設(shè)備
直接將攝像頭插入到底板的USB口上即可
2. 在開發(fā)板中,附帶了usb攝像頭的驅(qū)動與示例工程,依次執(zhí)行以下命令
//查看設(shè)備文件是否產(chǎn)生,正常是/dev/video2ls/dev/video*insmod/home/root/workspace/driver/fpgadrv.kocd/home/root/workspace/sample/sample_usbmkdirbuildcdbuildrm-rf*cmake..make
3. 執(zhí)行預(yù)測命令
./paddle_edgeboard
輸出結(jié)果如下:可以看到實時的檢測結(jié)果,輸出格式為目標的位置,如下圖所示
總結(jié):本次是通過命令行方式進行的USB攝像頭測試,并輸出每一幀的目標檢測結(jié)果,實時性能達到10FPS,效果還不錯。但是隨機附帶的例程并沒有實時可視化的功能,我們沒能看到實際預(yù)測的結(jié)果,比較遺憾。
運行海思ipc攝像頭輸入預(yù)測示例
1. 連接設(shè)備,將海思IPC攝像頭排線插入插槽內(nèi),上電后,攝像頭電源指示燈會一并亮起
2. 依次執(zhí)行以下命令
insmod/home/root/workspace/driver/fpgadrv.kosudochmod+x/home/root/workspace/driver/media-ctl/home/root/workspace/driver/media-ctl-v-f'"a0010000.v_tpg":0[fmt:SRGGB8/1920x1080field:none]'cd/home/root/workspace/sample/sample_bt1120mkdirbuildcdbuildrm-rf*cmake..make
3. 執(zhí)行預(yù)測命令
./paddle_edgeboard
輸出結(jié)果如下:可以看到實時的檢測結(jié)果,例程里無可視化圖片生成,下一步先測試一下攝像頭采集地效果。
4. 查看攝像頭采集圖片可視化圖
ls/dev/video*/dev/video0/dev/video1insmod/home/root/workspace/driver/fpgadrv.kosudochmod+x/home/root/workspace/driver/media-ctl/home/root/workspace/driver/media-ctl-v-f'"a0010000.v_tpg":0[fmt:SRGGB8/1920x1080field:none]'cd/home/root/workspace/tools/bt1120/mkdirbuildcdbuildcmake..make./bt1120
總結(jié):海思ipc攝像頭使用方法與USB基本一致,還是有個共同的缺點,沒有辦法進行實時的可視化效果,無法直觀觀察到模型運行的效果。
感受
經(jīng)過一周的試用,對EdgeBoard也有了初步的了解,總體來說:
優(yōu)點
1. 自帶環(huán)境豐富,無需配置交叉編譯環(huán)境即可使用。
2. 默認的smb+ssh環(huán)境基本滿足了開發(fā)需求,實現(xiàn)了到手即用。
3. 與EasyDL結(jié)合后,進行目標分類or目標檢測的嵌入式集成基本做到了傻瓜化,模型訓(xùn)練容易上手。
4. 從上手來看,EdgeBoard作為一個異構(gòu)的ARM+FPGA加速平臺,基本上做到了無需了解嵌入式與FPGA的程度即可使用
缺點
1. 板子試用攝像頭,缺乏可視化環(huán)境,如果可以實現(xiàn)一個小的流媒體服務(wù)器或使用DP接口輸出,對模型效果的評估可能可以更加直觀。
2. 風(fēng)扇噪音較大,在室內(nèi)長時間開發(fā)還是略微吵鬧,可能因為沒有開發(fā)調(diào)速策略導(dǎo)致。
3.部分win7系統(tǒng)修改系統(tǒng)策略后,仍然無法正常使用SMB連接目標板,希望后續(xù)版本可以移植SFTP后續(xù)會嘗試一下一些已有模型,深度挖掘一下這塊板子的功能
發(fā)布評論請先 登錄
TNC 插座上手實測:品質(zhì)決定使用感

【ELF 2學(xué)習(xí)板】+開箱評測
【正點原子STM32H7R3開發(fā)套件試用體驗】開發(fā)套件開箱報告
一篇“從入門到上手”的PCB設(shè)計教程
【「倉頡編程快速上手」閱讀體驗】+壹讀后感
Banana Pi BPI-R3 聯(lián)發(fā)科MT7986方案開源路由器開箱及性能測試

上手體驗 | 無障礙使用ZCC工具鏈編譯SDK例程

紅豆開箱上手必讀

啟明智顯Model3A芯片方案7寸高清觸摸屏:開箱、設(shè)置與實操全攻略指南

開箱機PLC數(shù)據(jù)采集維護系統(tǒng)解決方案

評論