WTM2101 Speech Recognition Video
模块一:软件包下载及环境搭建
模块⼀:简介 模块⼆:搭建算法训练工程,完成算法训练与量化 模块三:算法模型转换 模块四:算法模型烧写 模块五:算法模型在芯片运行推理
①Linux下通过Docker直接下载,获取指令: docker pull witin/toolchain:v001.000.034 ②Window环境,可以通过docker desktop来使用docker: 1)下载安装Docker desktop(win10或以上): Docker Desktop: The #1 Containerization Tool for Developers | Docker 2)通常需要更新WSL,下载链接如下,更新后需要重启生效 旧版 WSL 的手动安装步骤 | Microsoft Learn 3)Docker desktop 基本使用教程: Docker-desktop(Docker桌面版)——入门篇_dockerdesktop干嘛用的-CSDN博客 4)Docker desktop通常默认安装在c:\Program File\docker,可以通过软连接的形式修改Docker安装路径: 如何将Docker(Windows桌面版)自定义安装目录_自定义docker安装路径-CSDN博客 5)在Docker desktop里,可以通过搜索获得witin_toolchain,我们需要的是034版本(ps:Hub反应慢可以开VPN获取,或者使用镜像路径,具体操作方式见3链接)
5)测试: ①:管理员模式下打开命令行窗口 docker run -it --name XXXX witin/toolchain:v001.000.034 ②:默认进入workspace目录下,可以进入witin_mapper下执行测试脚本: cd witin_mapper python3 tests/python/frontend/onnx/witin/wtm2101/precision/XXXX.py
③:使用exit退出,再次进入可按如下操作: ④:通过docker ps -a获取容器id,然后打开进入容器
①预先下载安装包,下载安装 ②默认安装路径,直接点击安装 ③从主菜单的File->Open…菜单,或者点击工具栏的按钮,打开选择文件对话框,选择要打开的项目文件,即***.wmproject文件即可,点击【打开】按钮即可打开工程。如下图所示。
① 请确保安装以下环境:python, git, pytorch
① 最新数据集在软件安装包中
WTMDK2101-X3是针对WTM2101 AI SOC设计的评估板,包含: (1)WTM2101核心板,即我们的存算芯片。 (2)和I/O 板:WTM2101运行需要的电源、以及应用I/O接口等.
核心板示意图
WTMDK2101-X3 I/O 板示意图
AISHELL-WakeUp-1数据集是中英文唤醒词语音数据库,命令词为“你好,米雅” “hi, mia”,语音数据库中唤醒词语音3936003条,1561.12小时,邀请254名发言人参与录制。录制过程在真实家居环境中,设置7个录音位,使用6个圆形16路PDM麦克风阵列录音板做远讲拾音(16kHz,16bit)、1个高保真麦克风做近讲拾音(44.1kHz,16bit)。此数据库可用于声纹识别、语音唤醒识别等研究使用。
本demo以该数据集为例,用不同网络结构展示模型训练及移植过程。
本demo提供DNN和DNN_DEEP两种网络结构的示例,网络结构如下,本教程以DNN为例。
DNN
步骤一:配置python/config.py,参数释义见代码注释。 步骤二:运行python/train.py,模型训练完毕后,在models/net_type文件夹下生成bestModel.pth,此即我们的模型权重。 步骤三:运行python/onnx_converter.py,在models/net_type文件夹下生成bestModel.onnx。此步骤即完成原始模型到知存onnx格式模型的转换。
步骤一:拷贝至指定文件夹 我们将mapper/input 拷贝至witin/toolchain:v001.000.034的指定文件夹下(通常为/home,需与gen_mapper.py文件里描述一致)
步骤二:在workplace\witin_mapper下执行gen_mapper.py docker start id docker attach id cd witin_mapper python3 /home/mapper/input/gen_mapper.py
步骤三:在对应的output文件下获得输出
步骤一:系统连接: 进行模型烧录和开发时,我们需要将JTAG,核心板,NPU烧写板连接好,并打开开关,如系统连接示意图所示。
步骤二:
系统连接示意图
步骤三:跳线帽连接: 如跳线帽连接示意图所示,按照红框标注进行跳线连接。含义解释:
| 跳线 | 编号 | 跳帽连接 | 含义 |
|---|---|---|---|
| 1 | VIN | VSPK | Audio DAC 芯片供电,5V |
| 2 | 3.3V | AVDD | WTM2101芯片模拟供电,3.3V |
| 3 | 3.3V | IOVDD | WTM2101芯片I/O供电,3.3V |
| 4 | 0.9/1.2V | DVDD | 用 WTM2101BC 芯片时需接跳帽 |
| 5 | GND | BOOT0 | 启动模式,SRAM启动 |
| 6 | 32K | XTAL | 晶振 |
| 7 | RXD | P17 | 串口 |
| 8 | TXD | P16 | |
| 9 | PERIV | 3.3V | QSPI Flash、数字麦克风、晶振供电,与 IOVDD 选择一致,即3.3V |
| 10 | P13 | WS | I2S 功放的WS |
| 11 | P12 | CK | I2S 功放的CK |
| 12 | P10 | SDO | I2S 功放的SDO |
| 13 | P05 | DMDIN | 数字麦克风的Din |
| 14 | P06 | DMCK | 数字麦克风的CK |
跳线帽连接示意图
步骤四: 使用project/ WitinProgramTool_WTM2101下的WitinProgramTool.exe进行模型权重烧写。烧写时的开发板接线请参考其他文档。
步骤五:烧写指令: .\WitinProgramTool.exe -m init .\WitinProgramTool.exe -m program -i XXXX\map.csv -k 2 其中XXXX为步骤2.(3)中生成的mapper/output/map 示例:
步骤一: 从官网下载知存IDE Witmem Studio。 步骤二: 生成的mapper/output/register.c放在project/Model,使用Witmem Studio打开project/Project/SES-RISCV/Demo.wmproject。
步骤三:Target->Download下载工程:
注:本demo所用为x3开发板,所用串口GPIO为16,17。若是其他开发板,请根据情况修改串口。
步骤四: 打开tools中的串口工具,设置波特率115200,查看准确率输出