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

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

3天内不再提示

为嵌入式应用程序优化 AI

张飞雄 ? 来源:一个黄人 ? 作者:一个黄人 ? 2022-07-20 09:49 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在我之前的博客中,我谈到了对基于 AI 的界面的需求如何变得几乎不可避免——并且添加一个基于 AI 的界面(如 face-id)来授权对机器的访问,乍一看似乎是一个巨大的飞跃,但实际上并非如此有你想象的那么困难。有大量可用的 AI 平台、大量培训选项甚至开源应用程序,例如face-id 示例。您可以使用可以在 PC 上运行的原型快速启动和测试。

约束

将训练有素的网络迁移到您的嵌入式应用程序似乎是另一个巨大的障碍。PC 或云训练的网络并没有针对内存使用或功耗进行太多优化。他们可能会使用浮点数或双字进行网络计算,并且在处理图像上的滑动窗口时会严重依赖片外内存访问。对于在插入墙上电源的高性能 PC 上运行的原型来说,这不是问题,但您需要在最终应用程序中更加节俭,同时不影响性能。

优化的要点

优化的一个关键步骤称为量化。将权重从浮点切换到定点并减小定点大小,例如从 32 位浮点到 8 位整数,不仅会影响权重的大小,还会影响中间计算值。仅此一项就可以显着减少内存占用,在大多数情况下对识别质量几乎没有明显影响。

第二个操作是利用权重的稀疏性,对准确性的影响最小。这种做法将利用接近零的权重,并将它们四舍五入为零,同时密切跟踪准确性影响。权重用于乘以部分和,当其中一个因素为零时,这是没有意义的练习,因此无需执行操作。

在实际实现中,图像是增量处理的,因此当计算窗口在图像上移动时必须更新权重。这可以带来很多更新和大量流量。通过强制大部分权重为零,可以压缩权重数组,从而可以将所有或大部分数组存储在片上 SRAM 中,以便按需解压缩。这反过来又最大限度地减少了访问主存储器的需要,从而提高了性能并降低了功耗。它还偶然减少了加载重量时的片上流量。更少的流量争用意味着更高的吞吐量。

还应考虑一个因素。像大多数复杂的应用程序一样,神经网络依赖于复杂的库。您需要使用专为在微控制器环境中使用而设计的库,并将编译器用于您选择的平台。一个好的起点可能是开源库,例如TensorFlow Lite,但要充分利用微控制器,就需要专门定制的解决方案。

当然,知道你必须做什么并不容易。您现在需要找到一个能够简化这些操作并提供硬件优化库的平台。

我如何使它成为一个易于使用的流程?

您想要的是一个流程,您可以在其中使用您在特定平台(例如 TensorFlow)上训练的网络,并将其直接编译到您的嵌入式解决方案中——除了拨打一些基本要求外,无需干预。当然,您还希望该选项能够进一步手动优化,可能在不同的平面上设置不同的量化级别。也许可以尝试权重阈值与片上内存大小。您需要针对硬件优化的库和针对库优化的硬件。

CEVA 的CDNN等经过验证的 AI 平台旨在提供这种类型的流程。CDNN 为量化和运行时任务生成提供离线处理器工具集,以及为 CEVA DSP 和客户用户硬件加速器定制的运行时库。CEVA 的解决方案支持所有流行的 AI 模型格式,包括 TensorFlow Lite、ONNX、Caffe 等。

审核编辑 黄昊宇

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

    关注

    5161

    文章

    19784

    浏览量

    319686
  • AI
    AI
    +关注

    关注

    88

    文章

    35758

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    :使用Linux操作系统,可以运行各种复杂的应用程序和驱动程序。 4. 资源需求 : 单片机嵌入式 :对硬件资源的需求较低,通常只需要一个单片机芯片,内存和存储空间较小。 Linux嵌入
    发表于 06-20 09:46

    运行在嵌入式系统上的emApps

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

    嵌入式AI技术漫谈:怎么训练AI模型采集样本数据

    Q 需要为嵌入式AI模型提供多少样本数据? 我在向客户介绍如何使用AI方法设计一款客户产品时,客户理解,AI嵌入式项目的开发都是围绕数据展开
    的头像 发表于 06-11 16:30 ?719次阅读

    飞凌嵌入式2025嵌入式及边缘AI技术论坛圆满结束

    飞凌嵌入式「2025嵌入式及边缘AI技术论坛」在深圳深铁皇冠假日酒店盛大举行,此次活动邀请到了200余位嵌入式技术领域的技术专家、企业代表和工程师用户,共享
    的头像 发表于 04-28 13:57 ?3461次阅读
    飞凌<b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及边缘<b class='flag-5'>AI</b>技术论坛圆满结束

    飞凌嵌入式「2025嵌入式及边缘AI技术论坛」议程公布

    4月22日,飞凌嵌入式“2025嵌入式及边缘AI技术论坛”将在深圳举行,论坛以“新生态,智未来”为主题,旨在汇聚行业智慧,探讨嵌入式技术与边缘AI
    的头像 发表于 04-02 15:12 ?731次阅读
    飞凌<b class='flag-5'>嵌入式</b>「2025<b class='flag-5'>嵌入式</b>及边缘<b class='flag-5'>AI</b>技术论坛」议程公布

    新生态 智未来「飞凌嵌入式2025嵌入式及边缘AI技术论坛」开启报名!

    在这个技术日新月异的时代,每一场思想的碰撞都可能成为推动行业前行的力量,每一次深度对话都可能迸发出改变时代的强光——2025年4月22日,飞凌嵌入式将在深圳举办“2025嵌入式及边缘AI技术论坛”,本次论坛以“新生态,智未来”为
    的头像 发表于 03-28 08:05 ?687次阅读
    新生态 智未来「飞凌<b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及边缘<b class='flag-5'>AI</b>技术论坛」开启报名!

    嵌入式系统中的代码优化与压缩技术

    ,以便容纳更多功能模块或降低硬件存储成本。以智能手表例,其内部存储容量有限,通过代码压缩技术,能在有限空间内存储更多应用程序和数据,丰富手表的功能。 四、常见代码压缩技术 指令压缩:一些嵌入式
    发表于 02-26 15:00

    【「嵌入式Hypervisor:架构、原理与应用」阅读体验】+全文学习心得

    Hypervisor是一种在嵌入式系统中实现虚拟化技术的关键组件,它能够在同一硬件平台上并行运行多个操作系统或应用程序,提供资源隔离、管理和优化。通过引入时空域隔离的虚拟机,嵌入式Hy
    发表于 10-09 19:11

    嵌入式系统的启动流程

    嵌入式系统的启动流程是一个复杂但有序的过程,它涉及从系统上电到操作系统内核及应用程序启动的多个阶段。
    的头像 发表于 10-05 17:44 ?1086次阅读

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是嵌入式Linux开发的基本步骤,以及每个步骤的说明。 硬件选择 在开始嵌入式
    的头像 发表于 09-02 09:11 ?1345次阅读

    C28x嵌入式应用程序二进制接口

    电子发烧友网站提供《C28x嵌入式应用程序二进制接口.pdf》资料免费下载
    发表于 08-31 09:39 ?0次下载
    C28x<b class='flag-5'>嵌入式</b><b class='flag-5'>应用程序</b>二进制接口

    MSP430嵌入式应用程序二进制接口

    电子发烧友网站提供《MSP430嵌入式应用程序二进制接口.pdf》资料免费下载
    发表于 08-30 11:43 ?0次下载
    MSP430<b class='flag-5'>嵌入式</b><b class='flag-5'>应用程序</b>二进制接口

    C6000嵌入式应用程序二进制接口

    电子发烧友网站提供《C6000嵌入式应用程序二进制接口.pdf》资料免费下载
    发表于 08-29 14:52 ?0次下载
    C6000<b class='flag-5'>嵌入式</b><b class='flag-5'>应用程序</b>二进制接口

    恩智浦加速嵌入式AI创新应用开发

    AI应用飞速发展的今天,如何能够将AI嵌入式系统开发有机结合起来,营造新的开发生态,打造与众不同的创新用例,一直是嵌入式开发者追求的目标。
    的头像 发表于 08-27 09:46 ?1269次阅读

    嵌入式系统中的实时操作系统

    嵌入式RTOS是嵌入式应用程序运行、相互交互和与外界通信的底层软件机制。在本节中,您将了解嵌入式软件开发人员使用哪些流行RTOS以及它们运行的嵌入式
    的头像 发表于 08-20 11:28 ?964次阅读