主講人 | 何琨 英偉達(dá)
量子位感謝 | 公眾號(hào) QbitAI
在計(jì)算機(jī)視覺(jué)領(lǐng)域,手勢(shì)識(shí)別是機(jī)器讀懂人類手勢(shì)、高效實(shí)現(xiàn)人機(jī)交互得重要方式,廣泛應(yīng)用于物聯(lián)網(wǎng)、文娛、智能汽車等領(lǐng)域。
那么,0基礎(chǔ)得小白、AI開(kāi)發(fā)者們,如何快速搭建和部署一個(gè)高精度得手勢(shì)識(shí)別系統(tǒng)?
近期,英偉達(dá)x量子位發(fā)起了系列CV公開(kāi)課,在第三期課程中,NVIA開(kāi)發(fā)者社區(qū)得老師通過(guò)代碼演示、分享了如何利用TLT 3.0、Triton等工具低門檻、快速搭建和部署手勢(shì)識(shí)別系統(tǒng)。
分享大綱如下:
· 手勢(shì)識(shí)別任務(wù)介紹
· 工具介紹:NVIA TLT 3.0 & Triton
· 實(shí)戰(zhàn)演示:利用TLT和Triton快速搭建和部署手勢(shì)識(shí)別系統(tǒng)
以下為分享內(nèi)容整理:
大家好,我是來(lái)自NVIA開(kāi)發(fā)者社區(qū)得何琨,很高興與大家參與今天得。我主要負(fù)責(zé)與各位開(kāi)發(fā)者朋友交流溝通,如果大家對(duì)我們得產(chǎn)品有什么建議、或者有哪些需求,也期待反饋給我們。
手勢(shì)識(shí)別任務(wù)今天分享得內(nèi)容是“快速搭建手勢(shì)識(shí)別系統(tǒng)”,即通過(guò)搭建和部署AI模型、對(duì)人物得手勢(shì)動(dòng)作進(jìn)行識(shí)別。
今天我將通過(guò)這個(gè)案例,向大家分享如何利用NVIA得工具包快速、高效率地實(shí)現(xiàn)AI開(kāi)發(fā)。大家可以通過(guò)這一案例、入門AI開(kāi)發(fā),實(shí)現(xiàn)更多CV項(xiàng)目。
今天得任務(wù)將會(huì)用到兩個(gè)工具包:Transfer Learning Toolkit 3.0和 Triton。
分享過(guò)程中,首先會(huì)為新來(lái)得朋友介紹下這兩個(gè)工具,然后通過(guò)代碼實(shí)例,向大家展示如何利用這兩個(gè)工具,簡(jiǎn)單、高效地實(shí)現(xiàn)AI模型得訓(xùn)練與部署。
課程后大家可以利用我們提供得代碼、親手操作一遍。(課程中所需得代碼見(jiàn)感謝末)
Transfer Learning ToolkitTransfer Learning Toolkit(TLT)是一個(gè)簡(jiǎn)單得、集成化得工具,可以幫助大家簡(jiǎn)化深度學(xué)習(xí)模型得開(kāi)發(fā)流程。Develop like a pro with zero coding,利用TLT不需要太多編程得內(nèi)容就可以實(shí)現(xiàn)AI模型訓(xùn)練、優(yōu)化與導(dǎo)出。
Transfer Learning Toolkit強(qiáng)調(diào)得Transfer Learning,即遷移式學(xué)習(xí),它得主要特點(diǎn)是為開(kāi)發(fā)者提供了大量預(yù)訓(xùn)練模型。開(kāi)發(fā)者可以結(jié)合自己得數(shù)據(jù)集,根據(jù)不同得使用場(chǎng)景和需求,在這些預(yù)訓(xùn)練模型得基礎(chǔ)上進(jìn)行模型訓(xùn)練、調(diào)整、剪枝,以及導(dǎo)出模型進(jìn)行部署等。而且大家可以通過(guò)簡(jiǎn)單得幾行代碼來(lái)實(shí)現(xiàn)上述功能。
TLT有幾個(gè)主要得特點(diǎn):
第壹,在異構(gòu)得多GPU環(huán)境下進(jìn)行模型調(diào)整與重新訓(xùn)練。只通過(guò)一兩個(gè)命令,就能夠?qū)Χ郍PU進(jìn)行合理得利用和分配。
第二,豐富得預(yù)訓(xùn)練模型庫(kù)。包含大量得常見(jiàn)任務(wù)模型,在視覺(jué)、語(yǔ)音等方面都有很多可以實(shí)際應(yīng)用得模型。大家可以在NGC上免費(fèi)下載(ngc.nvidia),進(jìn)而應(yīng)用到實(shí)際得項(xiàng)目中。
第三,優(yōu)化模型。一方面可以利用TLT修剪、縮小模型尺寸,應(yīng)用起來(lái)非常便捷、只需要非常簡(jiǎn)單得代碼即可實(shí)現(xiàn);另一方面,可以將模型轉(zhuǎn)化成TensorRT、DeepStream、Triton等可以直接使用得深度學(xué)習(xí)推理引擎,可以方便得部署到幾乎所有得NVIA產(chǎn)品上。
Triton工具簡(jiǎn)介Triton是我們今天完成課程任務(wù)需要得另一個(gè)工具。
Triton得前身是TensorRT Inference Server平臺(tái),是一個(gè)基于TensorRT得推理服務(wù)引擎。TensorRT是NVIA專門為GPU在深度學(xué)習(xí)推理階段得加速而開(kāi)發(fā)得引擎,能夠讓GPU發(fā)揮出更強(qiáng)大計(jì)算能力。
TensorRT主要通過(guò)5個(gè)步驟實(shí)現(xiàn)對(duì)GPU推理過(guò)程得優(yōu)化:精度校正、動(dòng)態(tài)Memory管理、多流得執(zhí)行、Kernel參數(shù)得調(diào)優(yōu)、網(wǎng)絡(luò)層融合計(jì)算。通過(guò)這一系列步驟,在速度和吞吐量上對(duì)推理模型進(jìn)行優(yōu)化。
而Triton推理服務(wù)器能夠簡(jiǎn)化AI模型得大規(guī)模部署流程,開(kāi)發(fā)者可以從本地存儲(chǔ)或云平臺(tái)得任何框架部署訓(xùn)練好得AI模型,或基于GPU、CPU得基礎(chǔ)設(shè)施。
Triton更像是一個(gè)即時(shí)響應(yīng)得、Web Request得工具。它得應(yīng)用場(chǎng)景主要是網(wǎng)頁(yè)端、遠(yuǎn)程得數(shù)據(jù)中心,當(dāng)然也支持嵌入式平臺(tái)。能夠大幅簡(jiǎn)化模型部署流程,搭建好之后只需調(diào)用其中得接口,不需要再操心模型得訓(xùn)練及優(yōu)化。
特點(diǎn)一:支持多種框架。Triton支持市面上幾乎所有得框架,比如常見(jiàn)得TensorFlow、Pytorch、ONNX等,也支持一些自定義得框架。
特點(diǎn)二:高性能得推理能力。Triton得推理能力不僅速度快,吞吐量也很高。可以極大加快集群得運(yùn)行效率和執(zhí)行效率。
特點(diǎn)三:簡(jiǎn)化模型部署流程。上圖是 Triton得架構(gòu),可以看到,Triton將深度學(xué)習(xí)處理得流程封裝在一起了,部署在我們得服務(wù)器上。開(kāi)發(fā)者只需幾步即可完成部署:
第壹,準(zhǔn)備模型庫(kù)。
第二,調(diào)用接口加載模型。啟動(dòng)Triton Inference Server時(shí),模型得序列、參數(shù)、執(zhí)行方案等一系列內(nèi)容即可直接加載完成。
它得優(yōu)點(diǎn)是,能夠?qū)⒛P蛶?kù)和使用這個(gè)模型得流程區(qū)分開(kāi)。對(duì)于一些項(xiàng)目團(tuán)隊(duì)來(lái)說(shuō),有人擅長(zhǎng)做算法,有人擅長(zhǎng)做前端,但只要算法工程師將模型訓(xùn)練好,前端不需要懂得如何優(yōu)化模型算法,只需要通過(guò)Triton調(diào)用接口就可以。
其次,在多線程執(zhí)行時(shí),Triton Server也能夠自動(dòng)分配好GPU得內(nèi)存,減少安全隱患、降低能耗。
特點(diǎn)四:動(dòng)態(tài)可擴(kuò)展性。假設(shè)我們搭建好得兩臺(tái)服務(wù)器可以服務(wù)現(xiàn)有得10萬(wàn)用戶,但是當(dāng)用戶量快速增加到100萬(wàn)時(shí),我們只需要再增加幾臺(tái)服務(wù)器,直接通過(guò)Docker等方式擴(kuò)展到新得服務(wù)器上。
實(shí)戰(zhàn)演示:搭建手勢(shì)識(shí)別系統(tǒng)下面,我們將通過(guò)一份簡(jiǎn)單得代碼,調(diào)用TLT和Triton工具來(lái)實(shí)現(xiàn)手勢(shì)識(shí)別模型得訓(xùn)練與部署。
代碼&課程PPT下載鏈接:pan.baidu/s/1OXyLeF7qU-bcA3UPAY2K_A
提取碼: 81ik(百度網(wǎng)盤)
接下來(lái),何琨老師通過(guò)代碼講解,向大家展示了如何借助TLT和Triton完成手勢(shì)識(shí)別系統(tǒng)得訓(xùn)練與部署。大家可觀看視頻、繼續(xù)學(xué)習(xí):
回放鏈接:特別bilibili/video/BV1cB4y1u722/
p.s.代碼演示部分從第30分鐘開(kāi)始~
往期CV公開(kāi)課本次CV公開(kāi)課共3期,鏈接可查看往期課程內(nèi)容整理、下載課程PPT、源代碼等~
第1期:NVIA可能實(shí)戰(zhàn)演示,教你快速搭建基于Python得車輛信息識(shí)別系統(tǒng)
第2期:NVIA可能實(shí)戰(zhàn)演示,教你快速搭建情感識(shí)別系統(tǒng)
— 完 —