目前,在許多需要在本地進行數據分析的“永遠在線”的物聯網邊緣設備中,神經網絡正在變得越來越普及,主要是因為可以有效地同時減少數據傳輸導致的延時和功耗。而談到針對物聯網邊緣設備上的神經網絡,我們自然會想到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)。
對于某些內核(例如全連接和卷積),會使用到不同版本的內核函數。Arm提供了一個基本的版本,可以為任何圖層參數“按原樣”通用。我們還部署了其他版本,包括進一步的優化技術,但會對輸入進行轉換或對層參數有一些限制。理想情況下,可以使用簡單的腳本來分析網絡拓撲,并自動確定要使用的相應函數。
我們在卷積神經網絡(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還有助于減少對于內存有限的微控制器而言至關重要的內存占用。
-
內核
+關注
關注
3文章
1382瀏覽量
40426 -
神經網絡
+關注
關注
42文章
4780瀏覽量
101174 -
物聯網
+關注
關注
2913文章
44937瀏覽量
377067
原文標題:想讓你的微控制器效率提升5倍嗎?
文章出處:【微信號:arm_china,微信公眾號:Arm芯聞】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
發布MCU上跑的輕量神經網絡包 NNoM, 讓MCU也神經一把
CMSIS-NN神經網絡內核助力微控制器效率提升
如何設計BP神經網絡圖像壓縮算法?
可分離卷積神經網絡在 Cortex-M 處理器上實現關鍵詞識別
DSP數字信號處理和CMSIS-NN神經網絡教程
圖像預處理和改進神經網絡推理的簡要介紹
充分利用Arm NN進行GPU推理
AT32講堂016 | AT32 MCU DSP使用案例和網絡神經算法CMSIS-NN案例
ARM Cortex-M系列芯片神經網絡推理庫CMSIS-NN詳解
在Linux上使用Arm NN分析和優化運行推理的機器學習應用程序的步驟
用CMSIS-NN版本轉換Arm Cortex-M的神經網絡:r0p0指南
事隔五年之后,開啟第2版DSP數字信號處理和CMSIS-NN神經網絡教程,同步開啟三代示波器,前50章發布(2021-11
![事隔五年之后,開啟第2版DSP數字信號處理和<b class='flag-5'>CMSIS-NN</b><b class='flag-5'>神經網絡</b>教程,同步開啟三代示波器,前50章發布(2021-11](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
移植CMSIS-NN v6.0.0版本到VisionBoard
![移植<b class='flag-5'>CMSIS-NN</b> v6.0.0版本到VisionBoard](https://file1.elecfans.com/web2/M00/C4/8A/wKgZomX0EhWACv8DAAAUet8ikhs451.png)
評論