0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

还不错!装有移动设备和嵌入式设备的神经网络机器学习软件

电子工程师 来源:未知 作者:李建兵 2018-03-06 09:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Arm NN

最近,Arm宣布推出神经网络机器学习(ML) 软件 Arm NN。这项关键性技术,可在基于 Arm 的高能效平台上轻松构建和运行机器学习应用程序。

实际上,该软件桥接了现有神经网络框架(例如 TensorFlow 或 Caffe)与在嵌入式 Linux 平台上运行的底层处理硬件(例如 CPUGPU 或新型 Arm 机器学习处理器)。这样,开发人员能够继续使用他们首选的框架和工具,经 Arm NN 无缝转换结果后可在底层平台上运行。

机器学习需要一个训练阶段,也就是学习阶段(“这些是猫的图片”),另外还需要一个推理阶段,也就是应用所学的内容(“这是猫的图片吗?”)。训练目前通常在服务器或类似设备上发生,而推理则更多地转移到网络边缘,这正是新版本 Arm NN 的重点所在。

一切围绕平台

机器学习工作负载的特点是计算量大、需要大量存储器带宽,这正是移动设备和嵌入式设备面临的最大挑战之一。随着运行机器学习的需求日益增长,对这些工作负载进行分区变得越来越重要,以便充分利用可用计算资源。软件开发人员面临的可能是很多不同的平台,这就带来一个现实问题:CPU 通常包含多个内核(在 Arm DynamIQ big.LITTLE 中,甚至还有多种内核类型),还要考虑 GPU,以及许多其他类型的专用处理器,包括 Arm 机器学习处理器,这些都是整体解决方案的一部分。Arm NN 这时就能派上用场。

下图中可以看出,Arm NN 扮演了枢纽角色,既隐藏了底层硬件平台的复杂性,同时让开发人员能够继续使用他们的首选神经网络框架。

使用机器学习的应用程序 需要机器学习的已编写应用程序
TensorFlow、Caffe 等 继续使用现有的高级别机器学习框架和支持工具
Arm NN 自动将上述格式转换为 Arm NN,优化图表,并使用 Compute Library 中的函数,使其面向目标硬件
Compute Library 低级别的机器学习函数,针对各种硬件内核(目前为 Cortex-A 和 Mali GPU)进行了优化
CMSIS-NN 低级别 NN 函数,针对 Cortex-M CPU 进行了优化
平台 包含多个内核和内核类型(例如 CPU、GPU,今后还有 Arm 机器学习处理器)

Arm NN SDK 概览(首次发布版本)

您可能已经注意到,Arm NN 的一个关键要求是Compute Library,它包含一系列低级别机器学习和计算机视觉函数,面向Arm Cortex-ACPU 和Arm Mali GPU。我们的目标是让这个库汇集针对这些函数的一流优化,近期的优化已经展示了显著的性能提升 – 比同等 OpenCV 函数提高了 15 倍甚至更多。如果您是Cortex-MCPU 的用户,现在还有一个机器学习原语库 – 也就是近期发布的CMSIS-NN。

CMSIS-NN 是一系列高效神经网络内核的集合,其开发目的是最大程度地提升神经网络的性能,减少神经网络在面向智能物联网边缘设备的 Arm Cortex-M 处理器内核上的内存占用。Arm开发这个库的目的是全力提升这些资源受限的 Cortex CPU 上的神经网络推理性能。借助基于 CMSIS-NN 内核的神经网络推理,运行时/吞吐量和能效可提升大约 5 倍。

主要优势

有了 Arm NN,开发人员可以即时获得一些关键优势:

更轻松地在嵌入式系统上运行 TensorFlow 和 Caffe

Compute Library 内部的一流优化函数,让用户轻松发挥底层平台的强大性能

无论面向何种内核类型,编程模式都是相同的

现有软件能够自动利用新硬件特性

与 Compute Library 相同,Arm NN 也是作为开源软件发布的,这意味着它能够相对简单地进行扩展,从而适应 Arm 合作伙伴的其他内核类型。

适用于 Android 的 Arm NN

在五月举行的 Google I/O 年会上,Google 发布了针对 Android 的 TensorFlow Lite,预示着主要新型 API 开始支持在基于 Arm 的 Android 平台上部署神经网络。表面上,这与 Android 下的 Arm NN SDK 解决方案非常相似。使用 NNAPI 时,机器学习工作负载默认在 CPU 上运行,但硬件抽象层 (HAL) 机制也支持在其他类型的处理器或加速器上运行这些工作负载。Google 发布以上消息的同时,我们的 Arm NN 计划也进展顺利,这是为使用 Arm NN 的 Mali GPU 提供 HAL。今年晚些时候,我们还将为 Arm 机器学习处理器提供硬件抽象层。

Arm 对 Google NNAPI 的支持概览

Arm NN 的未来发展

这只是 Arm NN 的第一步:我们还计划添加其他高级神经网络作为输入,对 Arm NN 调试程序执行进一步的图形级别优化,覆盖其他类型的处理器或加速器……请密切关注今年的发展!

⊙Cortex-M与机器学习|神经网络教会小怪物走路

⊙机器学习让拍照更智能|Arm与Facebook、Arcsoft合作开发更高性能的移动设备技术

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20655

    浏览量

    336990

原文标题:Arm NN:在移动和嵌入式设备上无缝构建和运行机器学习应用程序

文章出处:【微信号:Ithingedu,微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    面向嵌入式部署的神经网络优化:模型压缩深度解析

    1.为什么需要神经网络模型压缩? 神经网络已经成为解决复杂机器学习问题的强大工具。然而,这种能力往往伴随着模型规模和计算复杂度的增加。当输入维度较大(例如长时序窗口、高分辨率特征空间)
    的头像 发表于 02-24 15:37 5450次阅读
    面向<b class='flag-5'>嵌入式</b>部署的<b class='flag-5'>神经网络</b>优化:模型压缩深度解析

    嵌入式单片机开发学习路径

    嵌入式系统是现代科技的重要组成部分,广泛应用于智能家居、汽车电子、工业控制、医疗设备等领域。学习嵌入式单片机开发不仅能提升个人技能,还能开拓职业发展路径。本文将为你提供一条详细的
    发表于 02-09 15:42

    如何在STM32和Arduino上实现卷积神经网络

    在大多数情况下,实用的机器学习算法需要大量计算资源(CPU 运算周期和内存占用)。不过,TensorFlow Lite 近期推出了一个实验版本,可在多款微控制器上运行。倘若我们能构建出适用于资源受限设备的模型,便能着手将
    的头像 发表于 01-19 10:04 4211次阅读
    如何在STM32和Arduino上实现卷积<b class='flag-5'>神经网络</b>

    什么是嵌入式应用开发?

    设计、实现和部署,还包括硬件选择、软件设计、测试、集成和维护等流程‌。 定义和背景 嵌入式应用开发是指将软件部署到嵌入式系统中,这些系统广泛应用于消费电子和工业自动化中。
    发表于 01-12 16:13

    神经网络的初步认识

    日常生活中的智能应用都离不开深度学习,而深度学习则依赖于神经网络的实现。什么是神经网络神经网络的核心思想是模仿生物
    的头像 发表于 12-17 15:05 460次阅读
    <b class='flag-5'>神经网络</b>的初步认识

    系统嵌入式学习路线

    到搞的很精通,我要学会抓住重点,学会取舍,达到一通百通,事半功倍的学习效果。 首先嵌入式技术主要分为嵌入式软件嵌入式硬件2大方向。
    发表于 12-16 07:49

    ARM嵌入式这样学

    )话题大热,Arm也推出神经网络机器学习软件 Arm NN,可在基于Arm的高能效平台上轻松构建和运行机器
    发表于 12-04 07:48

    嵌入式开发的关键点介绍

    设备移动设备。因此,嵌入式开发需要考虑系统的功耗,并编写节能的代码以延长系统的使用寿命。 4. 软件集成:
    发表于 11-13 08:12

    NMSIS神经网络库使用介绍

    NMSIS NN 软件库是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该库分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络”、“黑箱”、“标注”等术语。这些概念对非专业
    的头像 发表于 09-10 17:38 1049次阅读
    如何在<b class='flag-5'>机器</b>视觉中部署深度<b class='flag-5'>学习</b><b class='flag-5'>神经网络</b>

    嵌入式开发就业还有前景吗?

    嵌入式开发的主要工作是开发各种医疗设备和系统,如医疗影像、医疗机器人、远程诊疗等。嵌入式开发人员需要掌握相关的硬件和软件技术,如处理器、传
    发表于 07-16 10:47

    神经网络专家系统在电机故障诊断中的应用

    摘要:针对传统专家系统不能进行自学习、自适应的问题,本文提出了基于种经网络专家系统的并步电机故障诊断方法。本文将小波神经网络和专家系统相结合,充分发挥了二者故障诊断的优点,很大程度上降低了对电机
    发表于 06-16 22:09

    嵌入式开发入门指南:从零开始学习嵌入式

    开发(设备驱动、内核编译) 4. 推荐的学习资源书籍:《嵌入式系统软件设计基础》《ARM Cortex-M系列嵌入式开发》在线课程:慕课网、
    发表于 05-15 09:29

    嵌入式软件行业增长驱动因素

    嵌入式软件在物联网应用中至关重要,因为它管理设备操作、控制传感器、支持连接并确保数据安全。例如,在智能家居中,恒温器、安全摄像头和灯光等设备使用嵌入
    的头像 发表于 05-09 11:26 934次阅读

    ETAS全新的嵌入式AI解决方案

    “将训练后的AI神经网络模型,自动化生成安全且高效的C代码,用于嵌入式系统” ,近日ETAS携全新的智能化工具Embedded AI Coder亮相2025上海国际车展。
    的头像 发表于 05-07 11:43 2309次阅读
    ETAS全新的<b class='flag-5'>嵌入式</b>AI解决方案