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