英偉達(dá)CV公開課第3期 | 手把手教你部署一輛高速目標(biāo)檢測Jetbot智能小車
英偉達(dá)Jetson Nano實用教程
主講人 | 何琨 英偉達(dá)
量子位編輯 | 公眾號 QbitAI
3月26日,英偉達(dá)圖像處理系列公開課第三期線上開播,來自NVIDIA開發(fā)者社區(qū)的何琨老師,與數(shù)百位開發(fā)者共同探討了:
- 利用NVIDIA遷移式學(xué)習(xí)工具包構(gòu)建SSD目標(biāo)檢測網(wǎng)絡(luò)的推理引擎
- 將推理引擎遷移到以Jetson Nano為核心的Jetbot智能小車上
- 在Jetbot智能小車上部署推理引擎
應(yīng)讀者要求,我們將分享內(nèi)容整理出來,與大家分享。直播中主要的live coding環(huán)節(jié)受限于文字描述,還請大家觀看直播回放(文末附有PPT、直播回放鏈接) 。
以下為本次分享的內(nèi)容整理:
大家好,我是來自NVIDIA開發(fā)者社區(qū)的何琨。我的每次分享都會給大家展示這張圖。
它很好的詮釋了深度學(xué)習(xí)的架構(gòu),從應(yīng)用角度來說,視覺、語音識別、NLP等是目前發(fā)展較快的領(lǐng)域。市面上有很多框架支持這些深度學(xué)習(xí)的應(yīng)用,如Caffe、TensorFlow、PyTorch等,而支撐起這些框架的基礎(chǔ)是強(qiáng)大的計算能力。
NVIDIA提供了大量的GPU、邊緣設(shè)備等,為深度學(xué)習(xí)框架、推理訓(xùn)練提供了強(qiáng)大的支撐能力。在英偉達(dá)CUDA生態(tài)系統(tǒng)上,建立了cuDNN、TensorRT、DeepStream SDK、cuBLAS等一系列工具,都是中層的框架應(yīng)用的基礎(chǔ)的內(nèi)容。
今天分享的主題是“利用遷移式學(xué)習(xí)工具包加速Jetbot智能小車的推理引擎部署”,首先介紹下這兩個工具。
遷移式學(xué)習(xí)工具包
NVIDIA遷移式學(xué)習(xí)工具包(Transfer Learning Toolkit,簡稱TLT)是一個基于Python的工具包,它提供了大量預(yù)先訓(xùn)練的模型,并提供一系列的工具,使流行的網(wǎng)絡(luò)架構(gòu)適應(yīng)開發(fā)者自己的數(shù)據(jù),并且能夠訓(xùn)練、調(diào)整、修剪和導(dǎo)出模型,以進(jìn)行部署。
也就是說,我們使用TLT時,就不需要再掌握(上圖)左側(cè)這些工具了,大大提高深度學(xué)習(xí)工作流的效率和精度。
TLT提供了很多訓(xùn)練好的模型,(上圖)列舉了30多種常用的預(yù)訓(xùn)練模型,后面也將推出更多預(yù)訓(xùn)練模型,大家可以在NGC(https://www.nvidia.cn/gpu-cloud/)上下載。
選好預(yù)訓(xùn)練模型后,我們可以通過TLT對其進(jìn)行訓(xùn)練、剪枝、再訓(xùn)練等。一鍵輸出后的模型可以直接在DeepStream和TensorRT上使用;優(yōu)化加速后可以部署在移動端或嵌入式產(chǎn)品上,比如自動駕駛汽車、無人機(jī)上。
Jetbot智能小車
Jetbot是以Jetson Nano為計算核心的自動駕駛小車模型。Jetson Nano的體積非常小,只有巴掌大小,但是可以提供470GFLOPS的計算能力。
Nano支持多種接口、雙電源,為我們的訓(xùn)練與部署深度學(xué)習(xí)模型提供了便利。
上圖是我去年參加的無人車駕駛比賽的現(xiàn)場,大家可以看到,Jetbot小車能夠識別路牌、建筑物,自己找到路徑,其計算核心就是Jetson Nano。
上圖是Jetbot升級版本的賽車,可以看出它的速度非常快。我們在推理時最高達(dá)到了60FPS的速度。實際應(yīng)用中,為了平衡攝像頭的編解碼,我們將推理速度減少到45FPS。
上圖展示了Jetbot在復(fù)雜的環(huán)境中自動避障、識別路徑的過程,這些功能都是基于深度學(xué)習(xí)在視覺領(lǐng)域的應(yīng)用。
我們可以看到,Jetbot小車上有一個前端攝像頭,幾個控制接口,兩個主動輪、一個從動輪,便于大家控制和實踐。
我們可以自己設(shè)置或直接使用設(shè)置好的函數(shù)。
前端攝像頭的視頻接口。我們不需要考慮怎么調(diào)用前端攝像頭,代碼中已經(jīng)設(shè)置好了。
深度學(xué)習(xí)模型推理接口。
實戰(zhàn):部署一輛Jetbot小車
接下來,何琨老師展示了如何用TLT訓(xùn)練模型,以及在Jetbot上運行模型。受限于文字描述,歡迎大家點擊鏈接觀看直播回放(第25分鐘起):
直播鏈接:https://info.nvidia.com/303606-ondemand.html
PPT地址:https://www.nvidia.cn/content/dam/en-zz/zh_cn/assets/webinars/2020/mar26/TLT–2020.03.26.pdf
傳送門
第一期課程:利用 NVIDIA 遷移式學(xué)習(xí)工具包和Deepstream實現(xiàn)實時目標(biāo)檢測
>>直播回放:https://info.nvidia.com/272903-ondemand.html
>>PPT:https://www.nvidia.cn/content/dam/en-zz/zh_cn/assets/webinars/2020/feb27/TLT–2020.02.27.pdf
第二期課程:利用TensorRT 7.0部署高速目標(biāo)檢測引擎
>>直播回放鏈接:https://info.nvidia.com/291730-ondemand.html
>>PPT:https://www.nvidia.cn/content/dam/en-zz/zh_cn/assets/webinars/2020/mar12/dev/TLT–2020.03.12.pdf