摘要:今天分享的主題是“利用遷移式學習工具包加速Jetbot智能小車的推理引擎部署”,首先介紹下這兩個工具。NVIDIA遷移式學習工具包(Transfer Learning Toolkit,簡稱TLT)是一個基於Python的工具包,它提供了大量預先訓練的模型,並提供一系列的工具,使流行的網絡架構適應開發者自己的數據,並且能夠訓練、調整、修剪和導出模型,以進行部署。

主講人 | 何琨 英偉達
量子位編輯 | 公衆號 QbitAI

3月26日,英偉達圖像處理系列公開課第三期線上開播,來自NVIDIA開發者社區的何琨老師,與數百位開發者共同探討了:

  • 利用NVIDIA遷移式學習工具包構建SSD目標檢測網絡的推理引擎
  • 將推理引擎遷移到以Jetson Nano爲核心的Jetbot智能小車上
  • 在Jetbot智能小車上部署推理引擎

應讀者要求,我們將分享內容整理出來,與大家分享。直播中主要的live coding環節受限於文字描述,還請大家觀看直播回放(文末附有PPT、直播回放鏈接) 。

以下爲本次分享的內容整理:

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

大家好,我是來自NVIDIA開發者社區的何琨。我的每次分享都會給大家展示這張圖。

它很好的詮釋了深度學習的架構,從應用角度來說,視覺、語音識別、NLP等是目前發展較快的領域。市面上有很多框架支持這些深度學習的應用,如Caffe、TensorFlow、PyTorch等,而支撐起這些框架的基礎是強大的計算能力。

NVIDIA提供了大量的GPU、邊緣設備等,爲深度學習框架、推理訓練提供了強大的支撐能力。在英偉達CUDA生態系統上,建立了cuDNN、TensorRT、DeepStream SDK、cuBLAS等一系列工具,都是中層的框架應用的基礎的內容。

今天分享的主題是“利用遷移式學習工具包加速Jetbot智能小車的推理引擎部署”,首先介紹下這兩個工具。

遷移式學習工具包

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

NVIDIA遷移式學習工具包(Transfer Learning Toolkit,簡稱TLT)是一個基於Python的工具包,它提供了大量預先訓練的模型,並提供一系列的工具,使流行的網絡架構適應開發者自己的數據,並且能夠訓練、調整、修剪和導出模型,以進行部署。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

也就是說,我們使用TLT時,就不需要再掌握(上圖)左側這些工具了,大大提高深度學習工作流的效率和精度。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

TLT提供了很多訓練好的模型,(上圖)列舉了30多種常用的預訓練模型,後面也將推出更多預訓練模型,大家可以在NGC(https://www.nvidia.cn/gpu-cloud/)上下載。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

選好預訓練模型後,我們可以通過TLT對其進行訓練、剪枝、再訓練等。一鍵輸出後的模型可以直接在DeepStream和TensorRT上使用;優化加速後可以部署在移動端或嵌入式產品上,比如自動駕駛汽車、無人機上。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

Jetbot智能小車

Jetbot是以Jetson Nano爲計算核心的自動駕駛小車模型。Jetson Nano的體積非常小,只有巴掌大小,但是可以提供470GFLOPS的計算能力。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

Nano支持多種接口、雙電源,爲我們的訓練與部署深度學習模型提供了便利。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

上圖是我去年參加的無人車駕駛比賽的現場,大家可以看到,Jetbot小車能夠識別路牌、建築物,自己找到路徑,其計算核心就是Jetson Nano。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

上圖是Jetbot升級版本的賽車,可以看出它的速度非常快。我們在推理時最高達到了60FPS的速度。實際應用中,爲了平衡攝像頭的編解碼,我們將推理速度減少到45FPS。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

上圖展示了Jetbot在複雜的環境中自動避障、識別路徑的過程,這些功能都是基於深度學習在視覺領域的應用。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

我們可以看到,Jetbot小車上有一個前端攝像頭,幾個控制接口,兩個主動輪、一個從動輪,便於大家控制和實踐。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

我們可以自己設置或直接使用設置好的函數。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

前端攝像頭的視頻接口。我們不需要考慮怎麼調用前端攝像頭,代碼中已經設置好了。

英偉達公開課 | 手把手教你部署一輛高速目標檢測Jetbot智能小車

深度學習模型推理接口。


實戰:部署一輛Jetbot小車

接下來,何琨老師展示瞭如何用TLT訓練模型,以及在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 遷移式學習工具包和Deepstream實現實時目標檢測

>>直播回放: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部署高速目標檢測引擎

>>直播回放鏈接: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

— 完 —

量子位 QbitAI · ***簽約

關注我們,第一時間獲知前沿科技動態

相關文章