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

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

3天内不再提示

用于加速机器学习的边缘计算开发平台

5CTi_cirmall 来源:YXQ 2019-07-05 11:43 次阅读

机器学习正在从云端转移到网络边缘,目的是进行实时处理、降低延迟、提高安全性、更高效地使用可用带宽以及降低整体功耗。而处于这些边缘节点上的物联网 (IoT) 设备只有有限的资源,因此开发人员需要弄清如何有效地添加这一全新的智能水平。

在边缘位置基于微控制器系统使用机器学习,为开发人员提供了几项新机会,可以彻底改变他们设计系统的方式。开发人员可以使用几种不同的架构和技术将智能添加到边缘节点。学习完本文后,我们将更加熟悉这些架构以及一些可用于加快该过程的技术。

边缘机器学习的作用

边缘机器学习对嵌入式系统工程师非常有用,原因有很多。首先,智能系统可以解决开发人员通常难以通过编码解决的问题。以简单的文本识别为例。识别文本是编程的噩梦,但如果使用机器学习,那么几乎就像用 C 语言编写“Hello World”应用程序一样简单。

其次,智能系统可以很轻松地针对新数据和情况进行扩展。例如,如果某个系统接受了识别基本文本的训练,然后突然采用新字体提供文本,这时并不需要推倒重来。相反,只需提供额外的训练图像,使该网络也能学习识别新字体便可。

最后,我们还可以了解到,边缘机器学习可以帮助开发人员降低某些应用类型的成本,例如:

图像识别

语音和音频处理

语言处理

机器人

第一次检查边缘机器学习时,使用应用处理器似乎是个不错的选择。包括 OpenCV 在内的几种开源工具专为计算机视觉而设计,我们可以从使用这些工具开始。不过,许多应用中仅使用应用处理器可能还不够,因为这些处理器不具备确定性的实时行为。

边缘机器学习架构

使用边缘机器学习时,有三种典型方法:

边缘节点获取数据,然后在云端完成机器学习

边缘节点获取数据,然后在芯片上完成机器学习

边缘节点获取数据,然后在边缘进行第一遍机器学习,最后在云端进行更深入的分析

前两个解决方案是目前业界探索最多的解决方案,在本文中,我们将会重点关注这两个解决方案。

使用边缘设备获取数据并使用基于云的机器学习系统来处理数据,这样的架构有几个优点。首先,边缘设备不需要运行机器学习算法所需的强大处理能力和资源。其次,边缘设备可以继续使用资源受限的低成本设备,就像许多嵌入式系统开发人员习惯创建的系统一样。唯一的区别是,边缘设备需要能够通过 HTTPS 连接到基于云的服务提供商,以便分析它们的数据。第三,基于云的机器学习正在以惊人的速度发展,将这些功能转移到片载解决方案将非常困难、耗时且成本高昂。

对于希望从基于云的机器学习开始的开发人员来说,他们可以使用 STMicroelectronics 公司STM32F779I-EVAL 板(图 1)这类开发板。该开发板基于 STMicroelectronics 公司的 STM32F769NIH6 微控制器,配备了 Arm® Cortex®-M7 内核、板载摄像头、用于与云进行高速通信以太网端口,以及板载显示器。该开发板可与诸如 Express Logic 公司的 X-Ware IoT 平台等软件配合使用,轻松连接到任何机器学习云提供商,如 Amazon Web Services (AWS)、Microsoft Azure 和 Google Cloud。

在云端进行机器学习对于开发团队来说可能意义非常重大,但有几个原因可以解释为什么机器学习开始从云端转向边缘。虽然这些原因具有很强的应用针对性,但确实也包括了一些重要因素,例如:

实时处理需求

带宽限制

延迟

安全要求

如果某个应用存在这方面的问题,那么将神经网络从云端转移到边缘是可以行得通的。这种情况下,开发人员必须对他们希望嵌入式处理器负责处理的内容做到心里有数,以便应用能够尽可能高效地执行。

选择用于机器学习的处理器

在嵌入式处理器上运行机器学习需要考虑几个重要因素。首先,处理器必须能够高效地执行 DSP 指令,因此浮点运算单元 (FPU) 非常有用。其次,需要具备可以在处理器上运行的机器学习库。学习库需要包括卷积、池化和激活。如果没有这些学习库,开发人员基本上需要从头开始编写深度学习算法,不但费时,而且成本高昂。

最后,开发人员需要确保微控制器上具有足够的 CPU 周期,以便可以完成神经网络执行以及分配给处理器的任何其他任务。

Arm Cortex-M 处理器现在配有 CMSIS-NN 扩展,这是一个神经网络库,其设计目的是在资源受限的环境中可以在微控制器上高效地运行机器学习,这一特性使其成为基于边缘的智能系统的绝佳选择。确切的处理器选择将取决于手头的应用,因此详细了解几款不同的开发板及其最适合的应用非常重要。

首先介绍 SparkFun Electronics 公司的 OpenMV 机器视觉开发板(图 2)。该模块采用基于 Cortex-M7 的 STM32F765VI 处理器,运行频率 216 MHz,支持 512 KB RAM 和 2 MB 闪存。

OpenMV 模块可用于:

通过帧差分检测运动

颜色跟踪

市场跟踪

人脸检测

眼动跟踪

线条和形状检测

模板匹配

由于该模块的软件基于 Arm CMSIS-NN 库,因此可以在处理器上尽可能高效地运行机器学习网络。

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

    关注

    66

    文章

    8122

    浏览量

    130553
  • 边缘计算
    +关注

    关注

    22

    文章

    2801

    浏览量

    46011

原文标题:4款值得入手的用于加速机器学习的边缘计算开发平台

文章出处:【微信号:cirmall,微信公众号:电路设计技能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是边缘计算边缘计算有哪些应用?

    什么是边缘计算边缘计算有哪些应用? 边缘计算是一种将计算
    的头像 发表于 01-09 11:29 709次阅读

    边缘计算边缘智能计算区别

    边缘计算边缘智能计算是两个相关但不同的概念。边缘计算指的是数据处理和存储在靠近数据源的
    的头像 发表于 12-27 15:28 375次阅读

    边缘计算平台是什么配置的

    边缘计算平台是一个分布式计算架构,可以在靠近数据源的边缘设备上执行计算任务。它解决了传统
    的头像 发表于 12-27 15:23 373次阅读

    边缘计算平台开源框架有哪些类型

    边缘计算平台开源框架是指基于边缘计算概念开发的开源软件框架,
    的头像 发表于 12-27 15:17 475次阅读

    【解决方案】基于边缘计算技术的安科瑞综合管廊能效管理平台

    基于边缘计算技术的安科瑞综合管廊能效管理平台
    的头像 发表于 11-28 17:19 217次阅读
    【解决方案】基于<b class='flag-5'>边缘</b><b class='flag-5'>计算</b>技术的安科瑞综合管廊能效管理<b class='flag-5'>平台</b>

    Microchip与IHWK正在合作开发模拟计算平台

    合作开发模拟计算平台,以加速神经技术设备的边缘 AI/ML 推理。 IHWK正在为神经技术设备和现场可编程神经形态设备
    的头像 发表于 10-12 16:04 629次阅读

    用赛灵思FPGA加速机器学习推断

    电子发烧友网站提供《用赛灵思FPGA加速机器学习推断.pdf》资料免费下载
    发表于 09-15 15:02 1次下载
    用赛灵思FPGA<b class='flag-5'>加速</b><b class='flag-5'>机器</b><b class='flag-5'>学习</b>推断

    创建一个边缘机器学习系统

    本指南适用于系统设计人员,可能使用Arm Flexible access程序。 本指南将帮助您开发可以执行机器学习的片上系统(SoC)在边缘
    发表于 08-02 11:02

    如何选择适合的“边缘计算平台”?

    尽管任何边缘应用都是由一个或多个“物”创建的,但重要的是不仅要关注每个元素的功能,还要关注所有元素的互操作性。事实上,出于可扩展的目的,安全地连接许多边缘硬件和软件并开展计算变得至关重要。设计者必须对
    的头像 发表于 07-12 10:15 362次阅读
    如何选择适合的“<b class='flag-5'>边缘</b><b class='flag-5'>计算</b><b class='flag-5'>平台</b>”?

    机器学习模型:用于使用边缘脉冲软件预测大象的行为

    电子发烧友网站提供《机器学习模型:用于使用边缘脉冲软件预测大象的行为.zip》资料免费下载
    发表于 06-29 14:47 0次下载
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>模型:<b class='flag-5'>用于</b>使用<b class='flag-5'>边缘</b>脉冲软件预测大象的行为

    利用 NVIDIA Jetson 将 AI 学习延展至边缘

    /zh-cn/jetson/edu/ )。自从 10 年前首次发布以来, NVIDIA Jetson 平台 已经为全球嵌入式计算边缘 AI 设立了标准。这些用于深度
    的头像 发表于 06-13 20:55 381次阅读
    利用 NVIDIA Jetson 将 AI <b class='flag-5'>学习</b>延展至<b class='flag-5'>边缘</b>

    边缘计算机的概念和应用边缘计算发展前景

    边缘计算是指在靠近物或数据源头的网络边缘侧,融合了网络、计算、存储以及应用处理能力的分布式平台,就近提供智能服 务。和云
    发表于 05-18 17:23 0次下载
    <b class='flag-5'>边缘</b><b class='flag-5'>计算</b>机的概念和应用<b class='flag-5'>边缘</b><b class='flag-5'>计算</b>发展前景

    5G+边缘计算学习笔记

    我以前了解的边缘计算,无非是一个将云平台裁剪后,放在算力有限的本地机器上,以实现应用本地化,例如AWS greengrass这样的产品。 一些包装的有算法硬件模块,比如像K210这样
    发表于 05-18 17:22 3次下载
    5G+<b class='flag-5'>边缘</b><b class='flag-5'>计算学习</b>笔记

    边缘计算基础

    边缘计算,是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服 务。其应用程序在边缘侧发起,
    发表于 05-18 16:13 0次下载
    <b class='flag-5'>边缘</b><b class='flag-5'>计算</b>基础

    深度学习边缘计算综述论文阅读笔记

    这是一篇关于深度学习边缘计算基础知识的综述,包含了深度学习DL的几种网络模型的介绍,边缘计算
    发表于 05-18 14:36 0次下载
    深度<b class='flag-5'>学习</b><b class='flag-5'>边缘</b><b class='flag-5'>计算</b>综述论文阅读笔记