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

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

3天内不再提示

移动和嵌入式设备上也能直接玩机器学习?

5RJg_mcuworld 来源:未知 作者:邓佳佳 2018-03-22 16:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近,机器学习(ML)话题大热,Arm也推出神经网络机器学习软件Arm NN。这是一项关键技术,可在基于 Arm 的高能效平台上轻松构建和运行机器学习应用程序。那么对于Arm NN,你又了解多少呢?

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

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

对象识别是在嵌入式平台上运行的众多机器学习工作负载之一

一切围绕平台

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

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

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

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

Arm NN主要优势

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

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

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

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

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

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

适用于 Android 的 Arm NN

在2017年五月举行的 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 的支持概览

CMSIS-NN

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

Arm NN 的未来发展

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

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

    关注

    135

    文章

    9507

    浏览量

    389050
  • 嵌入式
    +关注

    关注

    5188

    文章

    20172

    浏览量

    329246
  • 神经网络
    +关注

    关注

    42

    文章

    4829

    浏览量

    106880
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136271

原文标题:移动和嵌入式设备上也能直接玩机器学习?

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    分享一个嵌入式开发学习路线

    技术,实现设备联网上传数据。 系统架构思维:理解企业级嵌入式开发的架构设计,如分层架构、模块化设计等。 实践建议:在STM32移植FreeRTOS,实现多任务管理;用WiFi模块实现温湿度数据上传云端
    发表于 12-04 11:01

    ARM嵌入式这样学

    相对纯软导致起步工资低,但行业大牛的工资非常可观。另外以长远目光来看,嵌入式渗透消费电子、安全安防、汽车电子、医疗电子、电信等等各个行业的计算机领域,而每年约有40万的人才缺口。今年机器
    发表于 12-04 07:48

    嵌入式系统的定义和应用领域

    都采用了嵌入式系统。同样,军事及航天类产品如四轴飞行器、雷达和作战机器离不开嵌入式系统的支持。此外,家电类产品如数字电视、扫地机器人和智
    发表于 11-17 06:49

    嵌入式开发的关键点介绍

    嵌入式开发在现代科技中扮演着非常重要的角色。随着物联网的发展,嵌入式系统的需求越来越大。嵌入式开发不仅需要开发人员具备深入的硬件知识和编程经验,还需要不断
    发表于 11-13 08:12

    嵌入式需要掌握哪些核心技能?

    嵌入式需要掌握哪些核心技能? 若想通过学习嵌入式技术提升就业竞争力,需重点掌握C语言、嵌入式硬件架构、RTOS/Linux开发、通信协议四大核心技能,并结合行业需求积累项目经验。
    发表于 10-21 16:25

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

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

    Linux嵌入式和单片机嵌入式的区别?

    Linux嵌入式与单片机嵌入式在多个方面存在显著的区别,以下是详细的比较和归纳: 一、基本概念 1. Linux嵌入式: 定义:将Linux操作系统运行在嵌入式
    发表于 06-20 09:46

    运行在嵌入式系统的emApps

    在当今快节奏的嵌入式系统世界中,灵活性和适应性是嵌入式系统实现的关键。SEGGER推出了其最新创新:Embedded apps(emApps)应用,类似于手机上的应用程序,可以运行在嵌入式系统
    的头像 发表于 06-18 09:53 653次阅读
    运行在<b class='flag-5'>嵌入式</b>系统<b class='flag-5'>上</b>的emApps

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

    特定功能的计算机系统,广泛应用于智能家居、工业控制、医疗设备、车载系统等领域。 2. 学习嵌入式开发的前置知识熟悉C语言编程掌握基本的数据结构与算法了解数字电路与微控制器原理熟悉Linux操作系统
    发表于 05-15 09:29

    嵌入式适合自学吗?

    学习者可能会因为缺乏专业的指导而走很多弯路。例如,在学习STM32时,可能会因为不了解正确的学习方法和顺序,而花费大量时间在一些不必要的内容。 2)难以解决实际问题:在
    发表于 04-27 09:54

    嵌入式教育科普|GPIO接口全面解析

    知识的掌握直接影响着嵌入式项目实现功能的成效。本文将以GPIO接口为切入点,深入解析其工作原理与技术特性,希望帮助屏幕前想要学习嵌入式开发
    的头像 发表于 03-05 11:11 2788次阅读
    <b class='flag-5'>嵌入式</b>教育科普|GPIO接口全面解析

    【入门必看】从菜鸟到大牛,嵌入式系统完整学习路线!看这篇就够了!

    嵌入式系统是许多现代电子设备和智能系统的核心,掌握嵌入式系统,意味着能够设计和开发更加智能化的产品。本文为所有想进入嵌入式领域的初学者提供一个完整系统
    的头像 发表于 02-20 10:53 3240次阅读
    【入门必看】从菜鸟到大牛,<b class='flag-5'>嵌入式</b>系统完整<b class='flag-5'>学习</b>路线!看这篇就够了!

    嵌入式机器学习的应用特性与软件开发环境

    设备和智能传感器),这些设备通常具有有限的计算能力、存储空间和功耗。本文将您介绍嵌入式机器学习
    的头像 发表于 01-25 17:05 1244次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>机器</b><b class='flag-5'>学习</b>的应用特性与软件开发环境

    哪些专业适合学习嵌入式开发?

    网络协议与标准,包括MQTT、CoAP以及HTTP等,适合物联网领域的数据交换和通信。 5)物联网工程:直接关联物联网领域,涉及嵌入式系统、网络通信、数据处理与分析等,适合物联网领域。 6)机械专业:机械专业的学生可以通过学习
    发表于 01-03 13:44

    嵌入式好找工作吗?

    复杂项目,薪资更是会水涨船高。在一些一线城市,经验丰富的嵌入式专家年薪可达数十万元甚至更高,这样的薪资水平足以让从业者在经济获得不错的回报,更好地激励大家在这个领域深耕发展。
    发表于 12-16 15:43