• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【得捷之选】重中之重——CNN体验

      本次的重中之重就是体验MAX78000FTHR的边缘计算,本次选用的demo是kws20_demo,演示了如何使用MAX78000FTHR 识别关键字,完整数据集中的以下 20 个关键字子集:[‘up’, ‘down’, ‘left’, ‘right’, ‘stop’, ‘go’, ‘yes’, ‘no’, ‘on’, ‘off’, ‘one’, ‘two’, ‘three’, ‘four’, ‘five’, ‘six’, ‘seven’, ‘eight’, ‘nine’, ‘zero’]其余关键字和无法识别的词属于“Unknown”类别。
demo体验:
      首先导入kws20_demo这个例子,基础例程在:\MaximSDK\Examples\MAX78000\CNN\kws20_demo,不过我这边不建议通过“Import”添加,因为在我们不用的使用进行删除时,如果不小心选择了删除源文件会将demo文件删除,这样就不能再继续使用了,如果通过新建的方式参考demo建工程,相当于把demo复制了过来,这样咱们删除不删除至少不会对基础demo例程产生损害。
      接下来我们编译工程并调试,可以发现绿灯亮起,这个时候我们可以说出上面的关键词,采集到后就可以通过串口输出了,如下图:

      可以看到当采集到麦克风的动作时就出出发输出,如果没有识别就会是“Unknown”,输出内容包括采集次数,边缘计算CNN运行时间,音量的大小,以及识别出的字符。通过不断的测试发现“SEVEN”的识别相对错误率或者不识别率比较高,有可能是我的发音与第二版 Google 语音命令数据集差别比较大。
CNN实现流程:
   需要的环境:
      ADI推荐的是使用windows上的wsl进行模型训练,需要借用GPU的计算能力,GPU对于加速训练的效果非常明显,注意在wsl中安装的cuda版本号就不能电脑支持的最高版本。
      接下来是linux中的操作,安装一个PyTorch,模型训练是使用PyTorch机型进行训练的,并且安装一些系列的工具如penv。
      重中之重是ai8x-trainingai8x-synthesis两个库,ai8x-training与我们模型训练及模型评估相关,ai8x-synthesis是量化模型,生成sdk开发中的3个文件相关,具体介绍可以参考下面的官方介绍:
全部回复(0)
正序查看
倒序查看
现在还没有回复呢,说说你的想法