<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • 全新CMSIS-NN神經網絡內核讓微控制器效率提升5倍

    發布時間:2018-1-30 17:46    發布者:eechina
    關鍵詞: CMSIS-NN , 神經網絡 , Cortex-M


    目前,在許多需要在本地進行數據分析的“永遠在線”的物聯網邊緣設備中,神經網絡正在變得越來越普及,主要是因為可以有效地同時減少數據傳輸導致的延時和功耗。 而談到針對物聯網邊緣設備上的神經網絡,我們自然會想到Arm Cortex-M系列處理器內核,那么如果您想要強化它的性能并且減少內存消耗,CMSIS-NN就是您最好的選擇;贑MSIS-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內核可在github.com/ARM-software/CMSIS_5上找到。 應用 代碼可以直接使用這些內核來實現Arm Cortex-M CPU上的神經網絡算法。 或者,這些內核可以被機器學習框架用作原語函數(primitives)來部署訓練過的模型。

    如需進一步資源,更詳細的產品信息和教程,幫助您解決來自邊緣ML的挑戰,請訪問我們的新機器學習開發者網站。

    參考:CMSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs White Paper

    本文地址:http://www.portaltwn.com/thread-522715-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
    • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
    • Dev Tool Bits——使用DVRT協議查看項目中的數據
    • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷