彩都会登录平台: [uCOS/RTOS] [RTOS]+RT-Thread的AIOT实战(二)--RTT的神经网络模型部署方案

申博太阳城AB亚洲馆时时彩计划软件
107|1
楼主
[RTOS]+RT-Thread的AIOT实战(二)--RT-Thread的神经网络模型部署方案



接上一帖:[RTOS]+RT-Thread的AIOT实战(一)--K210上跑RTT

要实现深度神经网络能够在嵌入式设备上运行,已经有了高人提出了不同实现方案,光在RT-Thread的软件包里面,就包含多种可玩的实现途径:

1. nnom

NNoM是一个专门为了神经网络在 MCU 上运行的框架。 NNoM 是一个定点神经网络库, 现在支持 8-bit定点格式。 当前 NNoM 支持数十种操作,卷积,池化,激活,矩阵计算等等。 此外还提供多种在线评估方法,包括时间统计,内存统计,Top-K 准确度,Confusion Matrix 等等。


默认使用纯C语言开发的后端,对于ARM构架的芯片,也可以使用ARM的CMSIS-NN,据说可以带来4倍左右的加速。

可以在如下设置中开启:

  1. RT-Thread online packages  --->
  2.     miscellaneous packages  --->
  3.         [*] NNoM: A Higher-level Nerual Network ... --->
复制代码
注:经本人测试,尽量不要使用最新版,我使用最新版在编译阶段报了错。选择稳定版本较新的就行。


说明:要将nnom的例子放在application的文件夹下替换原来的main.c,开机即可运行

参考:

nnom源代码

nnom简书的介绍

nnom主页


2. libann

没尝试

libann主页

3. protobuf-c

因为 onnx 的模型结构是用 Google Protobuf 的格式保存的。ONNX (Open Neural Network Exchange) 是机器学习模型的通用格式,彩都会登录平台:可以帮助大家方便地融合不同机器学习框架的模型。开启方式如下:



  1. RT-Thread online packages
  2.   IoT - internet of things  --->
  3.       [*] protobuf-c: a C implementation of the Google Protocol Buffers data serialization format on RT-Thread
复制代码
参考:

源码

RTT小师妹的分享贴

4. nncase

这是嘉楠对K210芯片设计的专用编译工具,由于我们的板子芯片为K210,这种方案作为我的项目的实际选择方案。

简单地说,如同我们的源码从PC端到嵌入式设备,存在交叉编译的过程,神经网络模型同样存在这样的问题,一个直接的问题就是关于变量类型(整点和浮点)的转换。nncase的作用就是将PC端生成的神经网络模型转换为K210在变量类型等方面协调性能与效率适宜的可用模型,格式为.kmodel。

但实际的使用过程中还存在很多要注意的问题,我们将在以后的帖子中明确说明。当然,由于多家的板子都用了k210,他们也做了不同的封装,但本质上都在使用nncase,下面是小小的总结:


参考:

nncase工具




沙发
 楼主 | 2020-6-23 16:11 | 只看该作者
我的链接为什么是文本形式的?
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

彩都会登录平台: 热门推荐

申博太阳城AB亚洲馆时时彩计划软件 永利游戏开户直营 返回顶部 返回列表
澳门赌经历有声小说网上娱乐场 澳门赌场3登入 彩票33官方直营网 北京快3走势图表 新濠天地认证网
申博广东快乐十分时时彩平台怎么样 下载申博网站澳门赌场 申博太阳城手机版手机客户端下载 做网投平台代理需要什么登入 永利纸业
水舞间 上海登入 澳门住宿特价网上娱乐场 申博太阳城登录网上娱乐场 澳门莲花赌场 太阳城游戏官网澳门赌场
大丰收国际娱乐登入 太阳城集团车模 银河备用网址登入 申博官网-网上娱乐安全上网导航手机客户端下载 ewin源码登入