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