目前,在许多需要在本地进行数据分析的“永远在线”的物联网边缘设备中,神经网络正在变得越来越普及,主要是因为可以有效地同时减少数据传输导致的延时和功耗。 而谈到针对物联网边缘设备上的神经网络,我们自然会想到arm cortex-m系列处理器内核,那么如果您想要强化它的性能并且减少内存消耗,cmsis-nn就是您最好的选择。基于cmsis-nn内核的神经网络推理运算,对于运行时间/吞吐量将会有4.6x的提升,而对于能效将有4.9x的提升。
cmsis-nn库包含两个部分: nnfunction和nnsupportfunctions。 nnfunction包含实现通常神经网络层类型的函数,比如卷积(convolution),深度可分离卷积(depthwise separable convolution),全连接(即内积inner-product), 池化(pooling)和激活(activation)这些函数被应用程序代码用来实现神经网络推理应用。 内核api也保持简单,因此可以轻松地重定向到任何机器学习框架。nnsupport函数包括不同的实用函数,如nnfunctions中使用的数据转换和激活功能表。 这些实用函数也可以被应用代码用来构造更复杂的nn模块,例如, 长期短时记忆(lstm)或门控循环单元(gru)。
对于某些内核(例如全连接和卷积),会使用到不同版本的内核函数。 我们提供了一个基本的版本,可以为任何图层参数“按原样”通用。 我们还部署了其他版本,包括进一步的优化技术,但会对输入进行转换或对层参数有一些限制。 理想情况下,可以使用简单的脚本来分析网络拓扑,并自动确定要使用的相应函数。
我们在卷积神经网络(cnn)上测试了cmsis-nn内核,在cifar-10数据集上进行训练,包括60,000个32x32彩色图像,分为10个输出类。 网络拓扑结构基于caffe中提供的内置示例,具有三个卷积层和一个完全连接层。 下表显示了使用cmsis-nn内核的层参数和详细运行时结果。 测试在运行频率为216 mhz的arm cortex-m7内核stmichelectronics nucleo-f746zg mbed开发板上进行。
整个图像分类每张图像大约需要99.1毫秒(相当于每秒10.1张图像)。 运行此网络的cpu的计算吞吐量约为每秒249 mops。 预量化的网络在cifar-10测试集上达到了80.3%的精度。 在arm cortex-m7内核上运行的8位量化网络达到了79.9%的精度。 使用cmsis-nn内核的最大内存占用空间为〜133 kb,其中使用局部im2col来实现卷积以节省内存,然后进行矩阵乘法。 没有使用局部im2col的内存占用将是〜332 kb,这样的话神经网络将无法在板上运行。
为了量化cmsis-nn内核相对于现有解决方案的好处,我们还使用一维卷积函数(来自cmsis-dsp的arm_conv),类似caffe的pooling和relu来实现了一个基准版本。 对于cnn应用,下表总结了基准函数和cmsis-nn内核的比较结果。 cmsis-nn内核的运行时间/吞吐量比基准函数提高2.6至5.4倍。 能效提高也与吞吐量的提高相一致。
高效的nn内核是充分发挥arm cortex-m cpu能力的关键。 cmsis-nn提供了优化的函数来加速关键的nn层,如卷积,池化和激活。 此外,非常关键的是cmsis-nn还有助于减少对于内存有限的微控制器而言至关重要的内存占用。 更多细节在我们的白皮书中您可以读到,您可以使用下面的按钮从康奈尔大学图书馆网站下载。
cmsis-nn内核可在上找到。 应用 代码可以直接使用这些内核来实现arm cortex-m cpu上的神经网络算法。 或者,这些内核可以被机器学习框架用作原语函数(primitives)来部署训练过的模型。
如何评价电影《流浪地球》中的Moss?
时尚产业要如何运用区块链技术?
紫光展锐以全场景5G行业解决方案赋能千行百业
XR才是通往元宇宙终极钥匙
Redmi Note 9T:奥利奥四摄 支持NFC
CMSIS-NN内核的神经网络提升微控制器的性能
LG 2020款LG gram 17上手体验,PCIe SSD与散热性能升级
宽禁带生态系统的碳化硅功率MOSFET模型
LinkConnector宣布与Publisher Discovery结成合作伙伴关系
如何使用网络分析仪精确地测量噪声系数
利用“范式转移”看世界! 2019是5G时代,哪些产业将迎来更好的机会?
爆联想开发安卓平板电脑,可做便携式显示屏
光电学院携手美国伊利诺伊大学厄巴纳香槟分校成功举办2022“工程光学暑期线上项目”
佳能推出10x16 KAS S便携式广播级变焦镜头
医疗用途的流体测量、阻抗测量应用及多功能性
使用碳化硅MOSFET提升工业驱动器的能源效率
深圳中科院科研人员研制出了一种多功能微型软体机器人
特斯拉下一步将根据中国市场需求将产品本土化
聚焦“开放式创新”,海尔、上海电气等成立“大企业创新联盟”
区块链技术在新冠疫情中的作用