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
    +关注

    关注

    134

    文章

    9092

    浏览量

    367515
  • 嵌入式
    +关注

    关注

    5082

    文章

    19123

    浏览量

    305110
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100754
  • 机器学习
    +关注

    关注

    66

    文章

    8416

    浏览量

    132620

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

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

收藏 人收藏

    评论

    相关推荐

    新手怎么学嵌入式?

    嵌入式系统的发展,嵌入式操作系统变得越来越重要。学习嵌入式操作系统可以帮助你更好地管理嵌入式
    发表于 12-12 10:51

    什么是嵌入式操作系统?

    什么是嵌入式操作系统? 想象一下,如果一个智能设备,比如你口袋里的智能手机,是一个有头脑的机器人,那么嵌入式操作系统(Embedded Operating System,简称EOS)就
    发表于 11-08 15:07

    零基础嵌入式开发学习路线

    嵌入式开发”没有接触过的同学可能会不明觉厉,但是只要你了解了,感兴趣并且有一个正确的学习路线的话,零基础入门。给大家介绍一个简单易懂的学习
    发表于 10-25 15:55

    嵌入式学习建议

    很多弯路,会使你对嵌入式系统感到畏惧。等你软件硬件基础打好了,再学习就感到容易理解。实际,许多嵌入式应用并不需要操作系统。
    发表于 10-22 11:41

    【「嵌入式Hypervisor:架构、原理与应用」阅读体验】+第7-8章学习心得

    嵌入式Hypervisor发挥着重要作用,它用于管理和隔离不同设备之间的应用程序,确保安全性和可靠性。 此外,我还对嵌入式Hypervisor的未来发展有了更为清晰的认识。随着物联
    发表于 10-09 18:50

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是
    的头像 发表于 09-30 10:05 464次阅读

    嵌入式系统的未来趋势有哪些?

    (ML)技术的快速发展,嵌入式系统将更多地整合这些先进技术,以支持智能决策和自动化。在设备直接运行AI和ML模型,进行图像识别、自然语言处理、预测分析等任务,将极大提升
    发表于 09-12 15:42

    嵌入式扫描设备能否让机器人更智能高效?

    随着科技的飞速发展,嵌入式扫描设备以其独特的优势——小巧紧凑、高效运作及易于集成,正逐步成为智能设备领域中的璀璨明星,尤其是在机器人技术的革新中扮演着不可或缺的角色。将
    的头像 发表于 08-26 15:07 216次阅读
    <b class='flag-5'>嵌入式</b>扫描<b class='flag-5'>设备</b>能否让<b class='flag-5'>机器</b>人更智能高效?

    深度学习算法在嵌入式平台上的部署

    随着人工智能技术的飞速发展,深度学习算法在各个领域的应用日益广泛。然而,将深度学习算法部署到资源受限的嵌入式平台上,仍然是一个具有挑战性的任务。本文将从嵌入式平台的特点、深度
    的头像 发表于 07-15 10:03 1385次阅读

    嵌入式系统怎么学?

    嵌入式系统怎么学? 随着物联网、智能制造等新技术的兴起,嵌入式系统的应用范围更加广泛。包括但不限于工业控制、汽车电子、医疗设备、智能家居、智慧城市、消费电子、通信设备等。
    发表于 07-02 10:10

    如何提升嵌入式编程能力?

    如何提升嵌入式编程能力? 要提升嵌入式编程的能力,可以从以下几点学习: 1. 理解硬件:熟悉你正在编程的硬件平台,包括微控制器、处理器、内存、输入/输出设备等基础理论与应用。 2.
    发表于 06-21 10:01

    嵌入式热门发展方向有哪些?

    热门发展方向,包括但不限于: 1.物联网: 随着物联网的快速发展,嵌入式系统在物联网领域的应用越来越广泛。嵌入式系统可以用于物联网设备的控制、监测和数据处理等方面。例如,在服务领域,
    发表于 04-11 14:17

    嵌入式系统和ARM哪个更好

    嵌入式系统和ARM各有其优势,难以直接比较哪个更好,因为它们在不同的应用场景和需求下都有各自的价值。
    的头像 发表于 03-28 15:14 517次阅读

    嵌入式系统发展前景?

    应用领域。随着汽车电子化和智能化程度的不断提高,嵌入式系统将在汽车控制、安全系统、自动驾驶等方面发挥更为重要的作用。 工智能和机器学习技术的发展为嵌入式系统提供了新的发展机遇。
    发表于 02-22 14:09

    嵌入式学习步骤

    开发板测试固件以及在实际设备上进行测试。 嵌入式系统的多样化发展,它将更为广泛地应用于各个领域,实现智能化、网络化、自动化的目标。同时,随着人工智能和机器
    发表于 02-02 15:24