近期,RISC-V SIG 完成了 Arm NN 在 openEuler Embedded 系統(tǒng)的適配,于 2023 年 1 月合入系統(tǒng)構(gòu)建工程代碼庫,經(jīng)測試驗證可用,實現(xiàn)了神經(jīng)網(wǎng)絡加速庫在 openEuler Embedded 嵌入式系統(tǒng)上的加速和優(yōu)化。
系統(tǒng)構(gòu)建工程下載地址:https://gitee.com/openeuler/yocto-meta-openeuler
支持 Arm NN 的 openEuler Embedded 系統(tǒng)已向社區(qū)開放
openEuler Embedded 是基于 openEuler 社區(qū)面向嵌入式場景的 Linux 版本,由于嵌入式系統(tǒng)應用受到多個因素的約束,如資源、功耗、多樣性等, 所以通過嵌入式處理器內(nèi)核進行機器學習成為了技術(shù)發(fā)展需要,ARM 推出 Arm NN 加速庫就是解決方法之一,將機器學習運用到嵌入式系統(tǒng)中。提供高性能神經(jīng)網(wǎng)絡推理能力,支持邊、端協(xié)同工作,提升資源利用率。

目標檢測是在嵌入式平臺上運行機器學習的工作負載之一
以目標檢測為示例,驗證 ArmNN 的推理加速效果:
模型:yolov3 tiny(FLOAT32 量化)
訓練數(shù)據(jù):COCO
測試數(shù)據(jù):640*480 H264 視頻
通過實驗證明,在精度損失可接受范圍內(nèi),Arm NN 加速可達到百倍的性能提升。如下圖所示,其中橫軸表示檢測圖片序號,縱軸表示推理耗時(單位:us):

注:musl-ref 是指基于 MuslC 的 Openeuler Embedded 且不做任何加速,musl-acc 是指基于的 Openeuler Embedded 且使能 ArmNN 的指令加速和優(yōu)化。
為了適配 openEuler Embedded 系統(tǒng), Arm NN 軟件需兼容 yocto-meta-openeuler,并在上做了很多準備工作,如 tensorflow 的適配,Compute Library 的適配,flatbuffers 的使用等。openEuler Embedded Arm NN 的構(gòu)建代碼位于 meta-openeuler/recipes-arm 層上,社區(qū)開發(fā)者可根據(jù)需要自行構(gòu)建 ArmNN 軟件。
Arm NN:融合主流神經(jīng)網(wǎng)絡框架,為用戶提供高效的 AI 應用平臺
Arm NN SDK 是一套開源 Linux 軟件和工具,支持在高能效的設備上運行機器學習工作負載。它橋接了現(xiàn)有神經(jīng)網(wǎng)絡框架與高能效的 Arm Cortex CPUs、Arm Mali GPU 或 Arm 機器學習處理器。

Arm NN 填補了現(xiàn)有 NN 框架和底層 IP 之間的空白。它可以幫助 TensorFlow 和 Caffe 等現(xiàn)有神經(jīng)網(wǎng)絡框架實現(xiàn)高效轉(zhuǎn)換,并在 Arm Cortex CPU 和 Arm Mali GPU 上高效運行,無需修改。
主要優(yōu)勢
更輕松地在嵌入式系統(tǒng)上運行 TensorFlow 和 Caffe;
Compute Library 內(nèi)部的一流優(yōu)化函數(shù),讓用戶充分發(fā)揮底層平臺的強大性能;
無論面向何種內(nèi)核類型,編程模式都是相同的;
現(xiàn)有軟件能夠自動利用新硬件特性;
作為開源軟件,能夠相對簡單地進行擴展,從而適應 Arm 合作伙伴的其他內(nèi)核類型。
Arm NN 為 openEuler Embedded 系統(tǒng)帶來人工智能的新活力
Arm NN 為 openEuler Embedded 提供全系統(tǒng)的神經(jīng)網(wǎng)絡優(yōu)化方案,支持在高能效的設備上運行機器 學習工作負載。為了充分利用不同平臺的軟硬件特性,在 Linux 系統(tǒng)上提供 ARM CPU 上的神經(jīng)網(wǎng)絡加速能力,使用硬件指令加速庫接口,使其面向目標硬件。目前,Arm NN 軟件庫在 openEuler Embedded 系統(tǒng)上的適配工作基本完成, RISC-V SIG 也將持續(xù)研發(fā)更多新功能,并移植最新的 openEuler Embedded 系統(tǒng)鏡像。為了加快 openEuler Embedded 系統(tǒng)人工智能應用場景落地,我們誠邀感興趣的朋友和測試志愿者加入并下載開發(fā)版鏡像,共同探索并解決可能存在的問題,推動 openEuler 人工智能開發(fā)生態(tài)的繁榮發(fā)展!
審核編輯 :李倩
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3706瀏覽量
132939 -
神經(jīng)網(wǎng)絡
+關(guān)注
關(guān)注
42文章
4821瀏覽量
106451 -
openEuler
+關(guān)注
關(guān)注
2文章
331瀏覽量
6646
原文標題:Arm NN 成功適配 openEuler Embedded,提供高性能神經(jīng)網(wǎng)絡推理能力
文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
NMSIS神經(jīng)網(wǎng)絡庫使用介紹
CMSIS-NN神經(jīng)網(wǎng)絡內(nèi)核助力微控制器效率提升
針對Arm嵌入式設備優(yōu)化的神經(jīng)網(wǎng)絡推理引擎
可分離卷積神經(jīng)網(wǎng)絡在 Cortex-M 處理器上實現(xiàn)關(guān)鍵詞識別
圖像預處理和改進神經(jīng)網(wǎng)絡推理的簡要介紹
充分利用Arm NN進行GPU推理
使用Streamline分析在Linux上運行的Arm NN機器學習應用程序
ARM Cortex-M系列芯片神經(jīng)網(wǎng)絡推理庫CMSIS-NN詳解
在Linux上使用Arm NN分析和優(yōu)化運行推理的機器學習應用程序的步驟
如何用PyArmNN加速樹莓派上的ML推理
用CMSIS-NN版本轉(zhuǎn)換Arm Cortex-M的神經(jīng)網(wǎng)絡:r0p0指南
構(gòu)建ARM NN自定義后端插件21.08版教程
測量神經(jīng)網(wǎng)絡的抽象推理能力
人工神經(jīng)網(wǎng)絡和bp神經(jīng)網(wǎng)絡的區(qū)別
具有小浮點的高性能神經(jīng)網(wǎng)絡

Arm NN成功適配openEuler Embedded,提供高性能神經(jīng)網(wǎng)絡推理能力
評論