簡(jiǎn)介
本案例主要基于DPU-PYNQ來實(shí)現(xiàn)一個(gè)常見的手勢(shì)識(shí)別--石頭剪刀布,目的是讓大家了解如何使用DPU開發(fā)深度學(xué)習(xí)應(yīng)用的整個(gè)流程。本案例分為三個(gè)部分:分別是PC模型訓(xùn)練、VitisAI模型編譯、Edge模型部署三個(gè)部分。PC模型訓(xùn)練是通過tensorflow對(duì)數(shù)據(jù)集進(jìn)行分析訓(xùn)練,得到需要的tf模型;VitisAI模型編譯是通過vitis ai工具鏈,對(duì)tf模型進(jìn)行量化、編譯,轉(zhuǎn)換成dpu可以運(yùn)行的模型;Edge模型部署是在U96上調(diào)度使用編譯好的模型。
Git倉(cāng)庫(kù):https://github.com/linxiaobo110/rps_u96.git
在PC上訓(xùn)練NN模型
數(shù)據(jù)集
數(shù)據(jù)集使用的是谷歌發(fā)布的開源數(shù)據(jù)集:
https://www.tensorflow.org/datasets/catalog/rock_paper_scissors
訓(xùn)練環(huán)境說明
議在有顯卡的環(huán)境下訓(xùn)練,本教程使用的python環(huán)境所需的庫(kù)如下所示:
python 3.7
tensorflow 2.0
numpy
opencv
matplotlib
sklearn
在安裝好的python環(huán)境下,使用spyder或者命令行運(yùn)行train.py:
python train.py
正常運(yùn)行時(shí)會(huì)有以下輸出:
1、打印部分?jǐn)?shù)據(jù)集圖片(注意觀察圖片是否正常),以及各種標(biāo)簽的樣本數(shù)量:
2、打印訓(xùn)練過程以及訓(xùn)練精度的變化
在Vitis AI里編譯NN模型
把訓(xùn)練好的模型通過vitis AI編譯后才可以在U96上運(yùn)行。
1、把訓(xùn)練好的模型拷貝到DpuCarU96的vitisAI目錄,同時(shí)需要把vitisAI/dataset_valid下的驗(yàn)證集換成用戶自己的數(shù)據(jù),至少50張圖片。
2、啟動(dòng)vitis AI的docker,并把工程里的vitisAI目錄拷貝到docker虛擬機(jī)里。
./docker_run.sh xilinx/vitis-ai
3、在vitisAI的dockder里,激活tensorflow的環(huán)境:
conda activate vitis-ai-tensorflow
4、在vitisAI的dockder里,運(yùn)行權(quán)值固化、權(quán)值量化、模型編譯等腳本可以得到以下輸出:
編譯完完的模型在./vitisAI/compile_results目錄下,里面的.elf文件是下一階段的教程所需要的。
在Utral96上調(diào)用NN模型
1、把倉(cāng)庫(kù)拷貝到U96的jupyter_notebook目錄下,如果要使用用戶的模型,請(qǐng)把里面的.elf文件換成vitisAI教程里生成的elf文件。
2、在U96的終端上,把elf模型編譯程序共享庫(kù):
sudo ./1.compile.sh
3、在U96的終端上,查看IP地址:
sudo ifconfig
4、在用戶PC上,打開瀏覽器,輸入IP地址,即可進(jìn)入jupyter Notebook。
5、在用戶PC上,按照jupyterNotebook的提示逐步地運(yùn)行程序,即可看到效果。
-
手勢(shì)識(shí)別
+關(guān)注
關(guān)注
8文章
228瀏覽量
48297 -
DPU
+關(guān)注
關(guān)注
0文章
393瀏覽量
24937 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5561瀏覽量
122796
發(fā)布評(píng)論請(qǐng)先 登錄
【嘉楠堪智K230開發(fā)板試用體驗(yàn)】手勢(shì)識(shí)別
【嘉楠堪智K230開發(fā)板試用體驗(yàn)】01 Studio K230開發(fā)板Test2——手掌,手勢(shì)檢測(cè),字符檢測(cè)
【BPI-CanMV-K230D-Zero開發(fā)板體驗(yàn)】人臉檢測(cè)、手勢(shì)識(shí)別、車牌識(shí)別
攻克園林電動(dòng)剪刀難題的策略與方法--【其利天下技術(shù)】

DPU232—高度集成USB到UART橋接控制器 國(guó)產(chǎn)替代方案
PT2513B芯片如何解決電剪刀電機(jī)控制器痛點(diǎn)
普誠(chéng) PT2513B 芯片:電剪刀電機(jī)控制器的理想之選

《金融街午餐會(huì)》年終特別節(jié)目——新質(zhì)生產(chǎn)力大路演,“數(shù)據(jù)搬運(yùn)高手”DPU如何打破AI時(shí)代算力瓶頸?
如何用OpenCV進(jìn)行手勢(shì)識(shí)別--基于米爾全志T527開發(fā)板

基于PYNQ和機(jī)器學(xué)習(xí)探索MPSOC筆記

24G雷達(dá)模塊LD2450 支持人體移動(dòng)軌跡跟蹤與手勢(shì)識(shí)別

Cortex-A55國(guó)產(chǎn)處理器_教學(xué)實(shí)驗(yàn)箱_操作案例分享:5-21 手勢(shì)識(shí)別實(shí)驗(yàn)
使用PYNQ訓(xùn)練和實(shí)現(xiàn)BNN

評(píng)論