首页 > 其他分享 >Arm NN 成功适配 openEuler Embedded,提供高性能神经网络推理能力

Arm NN 成功适配 openEuler Embedded,提供高性能神经网络推理能力

时间:2023-06-01 11:37:56浏览次数:33  
标签:NN Embedded 适配 嵌入式 神经网络 openEuler Arm

近期,RISC-V SIG 完成了 Arm NN 在 openEuler Embedded 系统的适配,于 2023 年 1 月合入系统构建工程代码库,经测试验证可用,实现了神经网络加速库在 openEuler Embedded 嵌入式系统上的加速和优化。

系统构建工程下载地址:https://gitee.com/openeuler/yocto-meta-openeuler

支持 Arm NN 的 openEuler Embedded 系统已向社区开放

openEuler Embedded 是基于 openEuler 社区面向嵌入式场景的 Linux 版本,由于嵌入式系统应用受到多个因素的约束,如资源、功耗、多样性等, 所以通过嵌入式处理器内核进行机器学习成为了技术发展需要,ARM 推出 Arm NN 加速库就是解决方法之一,将机器学习运用到嵌入式系统中。提供高性能神经网络推理能力,支持边、端协同工作,提升资源利用率。

Arm NN 成功适配 openEuler Embedded,提供高性能神经网络推理能力_人工智能

目标检测是在嵌入式平台上运行机器学习的工作负载之一

以目标检测为示例,验证 ArmNN 的推理加速效果:

  1. 模型:yolov3 tiny(FLOAT32 量化)
  2. 训练数据:COCO
  3. 测试数据:640*480 H264 视频

通过实验证明,在精度损失可接受范围内,Arm NN 加速可达到百倍的性能提升。如下图所示,其中横轴表示检测图片序号,纵轴表示推理耗时(单位:us):

Arm NN 成功适配 openEuler Embedded,提供高性能神经网络推理能力_机器学习_02

注:musl-ref 是指基于 MuslC 的 Openeuler Embedded 且不做任何加速,musl-acc 是指基于的 Openeuler Embedded 且使能 ArmNN 的指令加速和优化。

为了适配 openEuler Embedded 系统, Arm NN 软件需兼容 yocto-meta-openeuler,并在上做了很多准备工作,如 tensorflow 的适配,Compute Library 的适配,flatbuffers 的使用等。openEuler Embedded Arm NN 的构建代码位于 meta-openeuler/recipes-arm 层上,社区开发者可根据需要自行构建 ArmNN 软件。

Arm NN:融合主流神经网络框架,为用户提供高效的 AI 应用平台

Arm NN SDK 是一套开源 Linux 软件和工具,支持在高能效的设备上运行机器学习工作负载。它桥接了现有神经网络框架与高能效的 Arm Cortex CPUs、Arm Mali GPU 或 Arm 机器学习处理器。

Arm NN 成功适配 openEuler Embedded,提供高性能神经网络推理能力_机器学习_03

Arm NN 填补了现有 NN 框架和底层 IP 之间的空白。它可以帮助 TensorFlow 和 Caffe 等现有神经网络框架实现高效转换,并在 Arm Cortex CPU 和 Arm Mali GPU 上高效运行,无需修改。

主要优势

  • 更轻松地在嵌入式系统上运行 TensorFlow 和 Caffe;
  • Compute Library 内部的一流优化函数,让用户充分发挥底层平台的强大性能;
  • 无论面向何种内核类型,编程模式都是相同的;
  • 现有软件能够自动利用新硬件特性;
  • 作为开源软件,能够相对简单地进行扩展,从而适应 Arm 合作伙伴的其他内核类型。

Arm NN 为 openEuler Embedded 系统带来人工智能的新活力

Arm NN 为 openEuler Embedded 提供全系统的神经网络优化方案,支持在高能效的设备上运行机器 学习工作负载。为了充分利用不同平台的软硬件特性,在 Linux 系统上提供 ARM CPU 上的神经网络加速能力,使用硬件指令加速库接口,使其面向目标硬件。目前,Arm NN 软件库在 openEuler Embedded 系统上的适配工作基本完成, RISC-V SIG 也将持续研发更多新功能,并移植最新的 openEuler Embedded 系统镜像。为了加快 openEuler Embedded 系统人工智能应用场景落地,我们诚邀感兴趣的朋友和测试志愿者加入并下载开发版镜像,共同探索并解决可能存在的问题,推动 openEuler 人工智能开发生态的繁荣发展!



标签:NN,Embedded,适配,嵌入式,神经网络,openEuler,Arm
From: https://blog.51cto.com/u_14948868/6392980

相关文章

  • ChunJun FTP Connector 功能扩展解读
    本文将从FTPConnector的功能详解,自定义文件切割及自定义FileFormat三个方面为大家带来ChunJunFTPConnector的功能扩展分享。FTPConnector详解FTP是用于在网络上进行文件传输的一套标准协议,它工作在OSI模型的第七层,TCP模型的第四层,即应用层,提供一种在服务器和客户......
  • Java中读取用户输入的是谁?Scanner类
    前言我们在初学Java编程的时候,总是感觉很枯燥乏味,想着做点可以交互的小系统,可以让用户自由输入,系统可以接收做出反映。这就要介绍一下Java中的Scanner类了。一、Scanner类Java中的Scanner类是一个用于读取用户输入的工具类。它可以从控制台、文件、字符串等多种来源......
  • django.db.utils.integrityerror: (1048, "Column 'phone' cannot be null")
    1背景:模型表中字段为:phone=models.CharField(default='',max_length=64,verbose_name=u'电话',blank=True) 2分析:在保存模型实例时,‘phone’被设置为空值.但是该字段在数据库中被设置为(NOTNULL),因此导致完整性约束错误. blank=True,在Django模型验证中,......
  • Can't operate. Failed to connect to bus: Host is down
    »sudosystemctldaemon-reloadSystemhasnotbeenbootedwithsystemdasinitsystem(PID1).Can'toperate.Failedtoconnecttobus:Hostisdown 尝试输入以下指令:1sudoapt-getupdate&&sudoapt-getinstall-yqqdaemonizedbus-user-session......
  • python dig trace 功能实现——通过Querying name server IP来判定是否为dns tunnel
    dnstunnel确认方法,查询子域名最终的解析地址:使用方法:pythondig_trace.py "<7cf1e56b67fc90f8caaae86e0787e907>.nsconcreteblock.info"anySelectedrootnameserver: 192.203.230.10['.','info.','nsconcreteblock.info.','<......
  • AtCoder Beginner Contest 213 H Stroll
    洛谷传送门AtCoder传送门考虑一个朴素dp,\(f_{t,u}\)表示\(t\)时刻走到\(u\)点的方案数。有转移:\[f_{t,u}=\sum\limits_{(u,v)=E_i}\sum\limits_{k=0}^{t-1}f_{k,v}\timesp_{i,t-k}\]直接做时间复杂度\(O(mT^2)\),无法接受。发现转移是加法卷积形式......
  • ChunJun FTP Connector 功能扩展解读
    本文将从FTPConnector的功能详解,自定义文件切割及自定义FileFormat三个方面为大家带来ChunJunFTPConnector的功能扩展分享。FTPConnector详解FTP是用于在网络上进行文件传输的一套标准协议,它工作在OSI模型的第七层,TCP模型的第四层,即应用层,提供一种在服务器和客......
  • 解决fatal: unable to access ‘https://github.com……‘: Failed to connect to
    问题:gitclone时会报如下错误 解决办法:1.在cmd下执行 ipconfig/flushdns,清理DNS缓存 2.重新执行gitclonehttps://github.com/.../.git即可成功......
  • 目标检测:RPN — Faster R-CNN 的主干
    动动发财的小手,点个赞吧!在使用R-CNN的目标检测中,RPN是真正的主干,并且到目前为止已被证明非常有效。它的目的是提出在特定图像中可识别的多个对象。这种方法是由ShaoqingRen、KaimingHe、RossGirshick和JianSun在一篇非常受欢迎的论文“FasterR-CNN:TowardsRealTime......
  • m基于HOG特征提取和GRNN网络的人体姿态识别算法matlab仿真,样本为TOF数据库的RGB-D深
    1.算法仿真效果matlab2022a仿真结果如下:TOF数据库如下:2.算法涉及理论知识概要1、HOG特征:方向梯度直方图(HistogramofOrientedGradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。......