镜像社区
部署GPU实例
模型API
文档中心
常见问题(FAQ)
bunkws
Bunkws 是杭州国芯微自研的一款端到端唤醒词训练框架
0/小时
v1.6

Bunkws 训练新项目教程

Bunkws 是杭州国芯微自研的一款端到端唤醒词训练框架,其独创的从"数据生成->模型训练->测试报告输出"全链路自动化框架,让零算法基础的开发者也能完成从训练到芯片级模型落地,开启智能硬件开发的极简时代。

步骤一:新建项目工程

拷贝/新建新工程方法

# 我的 home 路径如下: /home/liushk
# 那么我的通用数据存储路径: /home/liushk/corpus

# 进入示例模版工程
cd ~/bunkws/egs
cp -r earphone xxxx  # 中文项目
# 或
cp -r hi_ella xxx   # 英文项目

示例说明

我本次训练的是一个中文项目,名称取名为 aiot。根据工程示例的解释,我可以选择:

  • v0.1.0 版本:npu 编译后大小为 300KB
  • v0.1.1 版本:npu 编译后大小为 120KB

本次项目空间大,可以选择大一点的模型,因此选择 v0.1.0 版本。所有介绍均以该项目为例,操作如下:

# 进入示例模版工程
cd ~/bunkws/egs
cp -r earphone aiot  # 中文项目

步骤二:配置数据存储路径

在前面的下载相关文件步骤中,下载过通用语料 corpus.tar.gz,并且在解压 BunKws 工程步骤中已经解压在 home 目录下,那么我的配置路径方法如下:

# 我的 home 路径如下: /home/liushk
# 那么我的通用数据存储路径: /home/liushk/corpus
# 我选择该新项目训练过程中产生的数据,存储路径为 /home/liushk/corpus/kws/aiot

# 创建模型训练数据存储路径
mkdir -p /home/liushk/corpus/kws/aiot
cd ~/bunkws/egs/aiot/v0.1.0

# 配置路径
vim run.sh

把该文件中如下内容修改成:

corpus_dir=/home/liushk/corpus  # 通用语料路径
project_dir=/home/liushk/corpus/kws/aiot

步骤三:创建需要的唤醒词、指令词

在上述步骤中,我们创建了一个 /home/liushk/corpus/kws/aiot 目录用于存储本项目的所有生成数据集过程中的语料。Bunkws 框架定义,在 project_dir 路径下,会自动读取 cmd.txt 内容作为唤醒词、指令词。

创建方法

# 我的 home 路径如下: /home/liushk
# 那么我的通用数据存储路径: /home/liushk/corpus
# 我选择该新项目训练过程中产生的数据,存储路径为 /home/liushk/corpus/kws/aiot

vim /home/liushk/corpus/kws/aiot/cmd.txt

写入格式如下,一个指令、唤醒词一行,以换行分割,除唤醒词、指令词以外不要有其他内容:

你好小树
打开灯光
关闭灯光

步骤四:运行 Bunkws 训练目标模型,检查报告输出

运行训练脚本

一键训练

一键完成:数据生成、数据准备、模型训练、模型测试和部署

./run.sh  # 一键训练

分阶段执行

可以自主控制运行步骤,主要为了在微调迭代使用,减少不必要的时间。但是请注意,步骤顺序有前后依赖,数据准备好才可训练。

# 数据生成
./run.sh --stage -1 --stop_stage -1

# 数据准备
./run.sh --stage 0 --stop_stage 1

# 模型训练
./run.sh --stage 2 --stop_stage 2

# 模型测试和部署
./run.sh --stage 3 --stop_stage 3

Bunkws 运行完成之后,会输出几份模型和测试报告,根据测试报告结果,挑出你最认可的模型即可。

注意:报告输出路径会在运行结束时候打印出来,报告有打印输出,也有详细的 xlsx 表格,根据需要获取即可。

输出文件说明

模型文件

情况一:选择 v0.1.0 版本训练

  • 仅支持 GX8002D 芯片
  • 模型输出:model_grus.h

情况二:选择 v0.1.1 版本训练

该版支持 GX8002GX8005/GX8006 芯片:

  • GX8002 模型输出:model_grus.h
  • GX8005/GX8006 模型输出:
    • model_fornax.h(模型)
    • mean_std.txt(归一化参数)

其他输出文件

  • 测试报告report.xlsx
  • 关键词列表keyword.txt

其他参考资料

详细使用方式可参考:https://www.bilibili.com/video/BV1A6M7zbEpZ

镜像信息
@杭州国芯微
已使用
1
镜像大小1000GB
最近编辑2025-07-30
支持卡型
RTX40系3080Ti48G RTX40系3090
+4
框架版本
PyTorch-2.3.0
CUDA版本
12.1
应用
JupyterLab: 8888
版本
v1.6
2025-07-31
PyTorch:2.3.0 | CUDA:12.1 | 大小:1000.00GB