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