作者:Litchll
ResNet模型
前言
我們自己訓練一個ResNet模型,并在以下三個環(huán)境中進行性能的對比。
AIStudio CPU: 2 Cores 8GB Memory
AIStudio GPU: V100 16GB VMem
Edgeboard
訓練模型
模型使用AIStudio 進行訓練,RESNET、MOBILE訓練和預測代碼有興趣的同學請手動移步到百度AI社區(qū)相關帖子里查看詳細內(nèi)容。百度AI社區(qū)——EdgeBoard板塊。
測試結(jié)果
我們執(zhí)行預測,忽略掉預處理的速度,僅僅計算模型前向傳播的時間。
對于AIstudio平臺,我們計算以下代碼的運行時間
對于Edgeboard上面的PaddleMobile,我們計算以下代碼的運行時間
以下為兩個模型的評測數(shù)據(jù)
ResNet
Edgeboard:
CPU:
GPU:
Mobile_Net
Edgeboard:
GPU:
CPU:
總結(jié):
下表為兩個模型預測速度的對比,從中來看,其速度相對于V100的GPU甚至還有一定的優(yōu)勢,讓人難以相信。個人的分析是由于以下幾個原因
Paddle-mobile較為啟動預測,與AIstudio的完整版Paddlepaddle相比有啟動效率上的優(yōu)勢,AIstudio啟動預測可能較慢。
整個預測模型batch size相當于1,發(fā)揮不出GPU的優(yōu)勢。
部署預算按三年算的話,GPU V100價格大概是10萬,CPU 1萬, EdgeBoard 5千,性價比還是蠻高的。如果大家對Edgeboard感興趣的話,可自行到百度AI市場購買體驗,我在這里不做過多贅述。
我在進行模型預測的時候,使用鉗表對功率進行了大概的估計(條件有限),鉗表的讀數(shù)在0.6A-8A之間變化。結(jié)合使用的12V適配器,我大概估計Edgeboard的功耗為8W.
以8W的功耗,在單張圖片的預測速度上面領先了幾十倍功耗的GPU與CPU。Edgeboard的表現(xiàn)還是令我比較驚喜。本來想繼續(xù)移植一個前段時間的大尺度的分割網(wǎng)絡Unet進行嘗試,想繼續(xù)試試他最大可以跑的模型大小,但似乎Edgeboard目前還不支持分割,存在了一定遺憾。
另外我在進行調(diào)試的時候,發(fā)現(xiàn)過有幾個發(fā)布版本的固件不是很穩(wěn)定,有些op有些問題。還發(fā)現(xiàn)了Edgeboard在我的兩臺筆記本電腦上網(wǎng)絡不是很穩(wěn)定,經(jīng)常出現(xiàn)相互無法ping通的情況,更換PC后正常,暫時還沒發(fā)現(xiàn)為什么。
Edgeboard是我第一款接觸的嵌入式神經(jīng)網(wǎng)絡加速設備。Paddle-mobile也是我接觸的第一個移動端神經(jīng)網(wǎng)絡框架,也是我接觸的第一個基于FPGA實現(xiàn)的加速框架。從我了解這個框架到現(xiàn)在僅僅不到半年的時間,已經(jīng)發(fā)布了多個模型轉(zhuǎn)換工具,降低了開發(fā)難度,并且支持EasyDL這種方式。雖然目前仍然有一些不成熟的坑需要填,不過相信在軟件的迭代下面,它能成為一個很好的嵌入式原型設計平臺。
Mobile-SSD模型
這次我們自己訓練一個Mobilenet-SSD模型,增加了不同輸入維度的情況下,模型運行效率的對比
AIStudio CPU: 2 Cores 8GB Memory
AIStudio GPU: V100 16GB VMem
Edgeboard
訓練模型
模型使用AIStudio提供的官方工程進行訓練,Mobilenet-SSD訓練和預測代碼有興趣的同學請手動移步到百度AI社區(qū)相關帖子里查看詳細內(nèi)容。百度AI社區(qū)——EdgeBoard板塊。
運行預測
我們執(zhí)行預測,忽略掉預處理的速度,僅僅計算模型前向傳播的時間。
對于AIstudio平臺,我們計算以下代碼的運行時間
對于Edgeboard上面的PaddleMobile,我們計算以下代碼的運行時間
以下圖片為預測結(jié)果,由于時間有限,沒有很細致去訓練模型,僅僅對比了模型運行的速度。
下表為模型在不同維度下的預測速度的對比,從中來看,其速度相對于V100的GPU基本處于同一個數(shù)量級,遠遠領先與CPU
在之前的文章里我們提到,本來想繼續(xù)移植一個前段時間的大尺度的分割網(wǎng)絡Unet進行嘗試,想繼續(xù)試試他最大可以跑的模型大小,但似乎Edgeboard目前還不支持分割,所以我們更換了目標檢測網(wǎng)絡進行嘗試。在mobilenet-SSD這個模型上,Edgeboard最大可以跑到700*700的輸入維度,并且能保持在16fps之上(不包含輸入圖像的語出過程),基本上具有實時性。
之前我提到的,在我的兩臺筆記本電腦上網(wǎng)絡不是很穩(wěn)定,經(jīng)常出現(xiàn)相互無法ping通的情況,目前經(jīng)過試驗之后,發(fā)現(xiàn)問題為板子的網(wǎng)卡在與不支持千兆的網(wǎng)卡進行通信時候,不能正確的協(xié)商,仍然使用千兆模式,使用以下命令固定為百兆即可正常連接
ethtool -s eth0 speed 100 duplex full
Edgeboard是我第一款接觸的嵌入式神經(jīng)網(wǎng)絡加速設備。Paddle-mobile也是我接觸的第一個移動端神經(jīng)網(wǎng)絡框架,也是我接觸的第一個基于FPGA實現(xiàn)的加速框架。從我了解這個框架到現(xiàn)在僅僅不到半年的時間,已經(jīng)發(fā)布了多個模型轉(zhuǎn)換工具,降低了開發(fā)難度,并且支持EasyDL這種方式。雖然目前仍然有一些不成熟的坑需要填,不過相信在軟件的迭代下面,它能成為一個很好的嵌入式原型設計平臺。
評論
查看更多