實(shí)驗(yàn)環(huán)境搭建
模塊?:軟件包下載及環(huán)境搭建
步驟一:搭建docker、mappper環(huán)境:
①Linux下通過Docker直接下載,獲取指令:
docker pull witin/toolchain:v001.000.034
②Window環(huán)境,可以通過docker desktop來使用docker:
下載安裝Docker desktop(win10或以上):
通常需要更新WSL,下載鏈接如下,更新后需要重啟生效
舊版 WSL 的手動(dòng)安裝步驟 | Microsoft Learn
3.Docker desktop 基本使用教程:
Docker-desktop(Docker桌面版)——入門篇_dockerdesktop干嘛用的-CSDN博客
4.Docker desktop通常默認(rèn)安裝在c:Program Filedocker,可以通過軟連接的形式修改Docker安裝路徑:
如何將Docker(Windows桌面版)自定義安裝目錄_自定義docker安裝路徑-CSDN博客
5.在Docker desktop里,可以通過搜索獲得witin_toolchain,我們需要的是034版本(ps:Hub反應(yīng)慢可以開VPN獲取,或者使用鏡像路徑,具體操作方式見3鏈接)
![wKgZomZFqLaAOx5LAAZ26TrJ9pE914.png](https://file1.elecfans.com/web2/M00/E5/F5/wKgZomZFqLaAOx5LAAZ26TrJ9pE914.png)
6.測試:
①:管理員模式下打開命令行窗口
docker run -it --name XXXX witin/toolchain:v001.000.034
②:默認(rèn)進(jìn)入workspace目錄下,可以進(jìn)入witin_mapper下執(zhí)行測試腳本:
cd witin_mapper
tests/python/frontend/onnx/witin/wtm2101/precision/XXXX.py
![wKgZomZFqMuADv8wAA-VcBphBfo127.png](https://file1.elecfans.com/web2/M00/E5/F5/wKgZomZFqMuADv8wAA-VcBphBfo127.png)
③:使用exit退出,再次進(jìn)入可按如下操作:
④:通過docker ps -a獲取容器id,然后打開進(jìn)入容器
![wKgZomZFqNuAO1vqAAj4zB8ouzg752.png](https://file1.elecfans.com/web2/M00/E5/F5/wKgZomZFqNuAO1vqAAj4zB8ouzg752.png)
步驟二:搭建IDE環(huán)境
①預(yù)先下載安裝包,下載安裝
②默認(rèn)安裝路徑,直接點(diǎn)擊安裝
③從主菜單的File->Open…菜單,或者點(diǎn)擊工具欄的按鈕,打開選擇文件對話框,選擇要打開的項(xiàng)目文件,即***.wmproject文件即可,點(diǎn)擊【打開】按鈕即可打開工程。如下圖所示。
![wKgaomZFqOqAWHR5AAZZ6oZe1jM247.png](https://file1.elecfans.com/web2/M00/E6/DC/wKgaomZFqOqAWHR5AAZZ6oZe1jM247.png)
步驟三:其他需要安裝的軟件
① 請確保安裝以下環(huán)境:python, git, pytorch
步驟四:下載訓(xùn)練數(shù)據(jù)
① 最新數(shù)據(jù)集在軟件安裝包中
工程軟件安裝包:https://download.csdn.net/download/m0_58966968/88602575
實(shí)驗(yàn)環(huán)境安裝包:https://download.csdn.net/download/m0_58966968/88602555
動(dòng)?實(shí)驗(yàn): 簡單語音識(shí)別系統(tǒng)開發(fā)
模塊?:簡介
WTMDK2101-X3介紹
WTMDK2101-X3是針對WTM2101 AI SOC設(shè)計(jì)的評(píng)估板,包含:
(1)WTM2101核心板,即我們的存算芯片。
(2)和I/O 板:WTM2101運(yùn)行需要的電源、以及應(yīng)用I/O接口等.
![wKgZomZFqQaAFGaqAAFm7enW90g219.png](https://file1.elecfans.com/web2/M00/E5/F5/wKgZomZFqQaAFGaqAAFm7enW90g219.png)
核心板示意圖
![wKgZomZFqRyAB_GmABEO-OwL8N8959.png](https://file1.elecfans.com/web2/M00/E5/F5/wKgZomZFqRyAB_GmABEO-OwL8N8959.png)
WTMDK2101-X3 I/O 板示意圖
2, AISHELL-WakeUp-1數(shù)據(jù)集介紹
AISHELL-WakeUp-1數(shù)據(jù)集是中英文喚醒詞語音數(shù)據(jù)庫,命令詞為“你好,米雅” “hi, mia”,語音數(shù)據(jù)庫中喚醒詞語音3936003條,1561.12小時(shí),邀請254名發(fā)言人參與錄制。錄制過程在真實(shí)家居環(huán)境中,設(shè)置7個(gè)錄音位,使用6個(gè)圓形16路PDM麥克風(fēng)陣列錄音板做遠(yuǎn)講拾音(16kHz,16bit)、1個(gè)高保真麥克風(fēng)做近講拾音(44.1kHz,16bit)。此數(shù)據(jù)庫可用于聲紋識(shí)別、語音喚醒識(shí)別等研究使用。
本demo以該數(shù)據(jù)集為例,用不同網(wǎng)絡(luò)結(jié)構(gòu)展示模型訓(xùn)練及移植過程。
模塊?:搭建算法訓(xùn)練工程,完成算法訓(xùn)練與量化
模型訓(xùn)練工程搭建:
本demo提供DNN和DNN_DEEP兩種網(wǎng)絡(luò)結(jié)構(gòu)的示例,網(wǎng)絡(luò)結(jié)構(gòu)如下,本教程以DNN為例。
![wKgaomZFqTOAGpoRAAEBapB5vNg042.png](https://file1.elecfans.com/web2/M00/E6/DC/wKgaomZFqTOAGpoRAAEBapB5vNg042.png)
DNN
步驟一:配置python/config.py,參數(shù)釋義見代碼注釋。
步驟二:運(yùn)行python/train.py,模型訓(xùn)練完畢后,在models/net_type文件夾下生成bestModel.pth,此即我們的模型權(quán)重。
步驟三:運(yùn)行python/onnx_converter.py,在models/net_type文件夾下生成bestModel.onnx。此步驟即完成原始模型到知存onnx格式模型的轉(zhuǎn)換。
模塊三:算法模型轉(zhuǎn)換
1,Dcoker下Mapper轉(zhuǎn)換流程
步驟一:拷貝至指定文件夾
我們將mapper/input 拷貝至witin/toolchain:v001.000.034的指定文件夾下(通常為/home,需與gen_mapper.py文件里描述一致)
![wKgZomZFqUyAN3hUAAL8s_jv3Pw704.png](https://file1.elecfans.com/web2/M00/E5/F5/wKgZomZFqUyAN3hUAAL8s_jv3Pw704.png)
步驟二:在workplacewitin_mapper下執(zhí)行g(shù)en_mapper.py
docker start id
docker attach id
cd witin_mapper
python3 /home/mapper/input/gen_mapper.py
![wKgaomZFqVuAcogTAAl4orUuQxQ896.png](https://file1.elecfans.com/web2/M00/E6/DC/wKgaomZFqVuAcogTAAl4orUuQxQ896.png)
步驟三:在對應(yīng)的output文件下獲得輸出
![wKgaomZFqWmALGMlAAIVkYHZF1Q101.png](https://file1.elecfans.com/web2/M00/E6/DC/wKgaomZFqWmALGMlAAIVkYHZF1Q101.png)
模塊四:算法模型燒寫
步驟一:系統(tǒng)連接:
進(jìn)行模型燒錄和開發(fā)時(shí),我們需要將JTAG,核心板,NPU燒寫板連接好,并打開開關(guān),如系統(tǒng)連接示意圖所示。
步驟二:
![wKgaomZFqXeAQa7aAAT5Hy7-MuA316.png](https://file1.elecfans.com/web2/M00/E6/DC/wKgaomZFqXeAQa7aAAT5Hy7-MuA316.png)
系統(tǒng)連接示意圖
步驟三:跳線帽連接:
如跳線帽連接示意圖所示,按照紅框標(biāo)注進(jìn)行跳線連接。含義解釋:
![wKgZomZFqZqAAKHXAAGEWMT54oo773.png](https://file1.elecfans.com/web2/M00/E5/F5/wKgZomZFqZqAAKHXAAGEWMT54oo773.png)
![wKgaomZFqbSAP9gsAA0n2CpyASw463.png](https://file1.elecfans.com/web2/M00/E6/DC/wKgaomZFqbSAP9gsAA0n2CpyASw463.png)
跳線帽連接示意圖
步驟四:
使用project/ WitinProgramTool_WTM2101下的WitinProgramTool.exe進(jìn)行模型權(quán)重?zé)龑憽龑憰r(shí)的開發(fā)板接線請參考其他文檔。
步驟五:燒寫指令:
.WitinProgramTool.exe -m init
.WitinProgramTool.exe -m program -i XXXXmap.csv -k 2
其中XXXX為步驟2.(3)中生成的mapper/output/map
示例:
![wKgZomZFqeCAcq-CAAHr8lir510028.png](https://file1.elecfans.com/web2/M00/E5/F6/wKgZomZFqeCAcq-CAAHr8lir510028.png)
模塊五:算法模型在芯片運(yùn)行推理
步驟一:
從官網(wǎng)下載知存IDE Witmem Studio。
步驟二:
生成的mapper/output/register.c放在project/Model,使用Witmem Studio打開project/Project/SES-RISCV/Demo.wmproject。
![wKgaomZFqfiAIxTEAADv3LpPdeg826.png](https://file1.elecfans.com/web2/M00/E6/DC/wKgaomZFqfiAIxTEAADv3LpPdeg826.png)
步驟三:Target->Download下載工程:
![wKgZomZFqgOAKZ-PAAEI4A7zJKI417.png](https://file1.elecfans.com/web2/M00/E5/F6/wKgZomZFqgOAKZ-PAAEI4A7zJKI417.png)
注:本demo所用為x3開發(fā)板,所用串口GPIO為16,17。若是其他開發(fā)板,請根據(jù)情況修改串口。
步驟四:
打開tools中的串口工具,設(shè)置波特率115200,查看準(zhǔn)確率輸出
![wKgZomZFqhOAASsqAAtr3UIkR8I010.png](https://file1.elecfans.com/web2/M00/E5/F6/wKgZomZFqhOAASsqAAtr3UIkR8I010.png)
至此,我們完成了基于存內(nèi)計(jì)算X3開發(fā)板的語音識(shí)別從訓(xùn)練到部署全流程,本教程結(jié)束。
審核編輯 黃宇
-
芯片
+關(guān)注
關(guān)注
456文章
51283瀏覽量
427816 -
語音識(shí)別
+關(guān)注
關(guān)注
38文章
1745瀏覽量
112960 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5134瀏覽量
98336 -
算法模型
+關(guān)注
關(guān)注
0文章
7瀏覽量
6752 -
存內(nèi)計(jì)算
+關(guān)注
關(guān)注
0文章
30瀏覽量
1407
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
存內(nèi)計(jì)算原理分類——數(shù)字存內(nèi)計(jì)算與模擬存內(nèi)計(jì)算
![<b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計(jì)算</b>原理分類——數(shù)字<b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計(jì)算</b>與模擬<b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計(jì)算</b>](https://file1.elecfans.com/web2/M00/E6/66/wKgZomZG_NWAIoJ9ABRwhzlRrNg851.png)
1024 CSDN 程序員節(jié)-基于存內(nèi)計(jì)算WTM2101芯片開發(fā)板驗(yàn)證語音識(shí)別
![1024 CSDN 程序員節(jié)-基于<b class='flag-5'>存</b><b class='flag-5'>內(nèi)</b><b class='flag-5'>計(jì)算</b>WTM2101<b class='flag-5'>芯片</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>驗(yàn)證</b><b class='flag-5'>語音</b><b class='flag-5'>識(shí)別</b>](https://file1.elecfans.com/web2/M00/E8/17/wKgaomZLAIeADstTAAnCSgvfliY445.png)
評(píng)論