关于嵌入式:Arm-NN-成功适配-openEuler-Embedded提供高性能神经网络推理能力

1次阅读

共计 1569 个字符,预计需要花费 4 分钟才能阅读完成。

近期,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 减速库就是解决办法之一,将机器学习使用到嵌入式零碎中。提供高性能神经网络推理能力,反对边、端协同工作,晋升资源利用率。

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

以指标检测为示例,验证 ArmNN 的推理减速成果:

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

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

注: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 填补了现有 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 人工智能开发生态的凋敝倒退!

正文完
 0