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

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

3天内不再提示

如何手动编程将其无缝部署到TI处理器上

科技绿洲 来源:德州仪器 作者:德州仪器 2022-04-08 11:41 次阅读

如果在没有嵌入式处理器供应商提供的合适工具和软件的支持下,既想设计高能效的边缘人工智能AI) 系统,同时又要加快产品上市时间,这项工作难免会冗长乏味。面临的一系列挑战包括选择恰当的深度学习模型、针对性能和精度目标对模型进行训练和优化,以及学习使用在嵌入式边缘处理器上部署模型的专用工具。

从模型选择到在处理器上部署,TI 可免费提供相关工具、软件和服务,为您深度神经网络 (DNN) 开发工作流程的每一步保驾护航。下面让我们来了解如何不借助手动工具或手动编程来选择模型、随时随地训练模型并将其无缝部署到 TI 处理器上,从而实现硬件加速推理。

poYBAGJPq4-AEd3YAAFFGYKB5rA470.png

图 1:边缘 AI 应用的开发流程

第一步:选择模型

边缘 AI 系统开发的首要任务是选择合适的 DNN 模型,同时要兼顾系统的性能、精度和功耗目标。GitHub 上的 TI 边缘 AI Model Zoo 等工具可助您加速此流程。

Model Zoo 广泛汇集了 TensorFlow、PyTorch 和 MXNet 框架中常用的开源深度学习模型。这些模型在公共数据集上经过预训练和优化,可以在 TI 适用于边缘 AI 的处理器上高效运行。TI 会定期使用开源社区中的新模型以及 TI 设计的模型对 Model Zoo 进行更新,为您提供性能和精度经过优化的广泛模型选择。

Model Zoo 囊括数百个模型,TI 模型选择工具(如图 2 所示)可以帮助您在不编写任何代码的情况下,通过查看和比较性能统计数据(如推理吞吐量、延迟、精度和双倍数据速率带宽),快速比较和找到适合您 AI 任务的模型。

poYBAGJPq5eAWBo5AAEqrY8VgWA161.png

图 2:TI 模型选择工具

第二步:训练和优化模型

选择模型后,下一步是在 TI 处理器上对其进行训练或优化,以获得出色的性能和精度。凭借我们的软件架构和开发环境,您可随时随地训练模型。

从 TI Model Zoo 中选择模型时,借助训练脚本可让您在自定义数据集上为特定任务快速传输和训练模型,而无需花费较长时间从头开始训练或使用手动工具。训练脚本、框架扩展和量化感知培训工具可帮助您优化自己的 DNN 模型。

第三步:评估模型性能

在开发边缘 AI 应用之前,需要在实际硬件上评估模型性能。

TI 提供灵活的软件架构和开发环境,您可以在 TensorFlow Lite、ONNX RunTime 或 TVM 和支持 Neo AI DLR 的 SageMaker Neo 运行环境引擎三者中选择习惯的业界标准 PythonC++ 应用编程接口 (API),只需编写几行代码,即可随时随地训练自己的模型,并将模型编译和部署到 TI 硬件上。在这些业界通用运行环境引擎的后端,我们的 TI 深度学习 (TIDL) 模型编译和运行环境工具可让您针对 TI 的硬件编译模型,将编译后的图或子图部署到深度学习硬件加速器上,并在无需任何手动工具的情况下实现卓越的处理器推理性能。

在编译步骤中,训练后量化工具可以自动将浮点模型转换为定点模型。该工具可通过配置文件实现层级混合精度量化(8 位和 16 位),从而能够足够灵活地调整模型编译,以获得出色的性能和精度。

不同常用模型的运算方式各不相同。同样位于 GitHub 上的 TI 边缘 AI 基准工具可帮助您为 TI Model Zoo 中的模型无缝匹配 DNN 模型功能,并作为自定义模型的参考。

评估 TI 处理器模型性能的方式有两种:TDA4VM 入门套件评估模块 (EVM) 或 TI Edge AI Cloud,后者是一项免费在线服务,可支持远程访问 TDA4VM EVM,以评估深度学习推理性能。借助针对不同任务和运行时引擎组合的数个示例脚本,五分钟之内便可在 TI 硬件上编程、部署和运行加速推理,同时收集基准测试数据。

第四步:部署边缘 AI 应用程序

您可以使用开源 Linux® 和业界通用的 API 来将模型部署到 TI 硬件上。然而,将深度学习模型部署到硬件加速器上只是难题的冰山一角。

为帮助您快速构建高效的边缘 AI 应用,TI 采用了 GStreamer 框架。借助在主机 Arm® 内核上运行的 GStreamer 插件,您可以自动将计算密集型任务的端到端信号链加速部署到硬件加速器和数字信号处理内核上。

图 3 展示了适用于边缘 AI 的 Linux Processor SDK 的软件栈和组件。

pYYBAGJPq6GAKmGUAAD7bEKICUM646.png

图 3:适用于边缘 AI 的 Linux Processor SDK 组件

结语

如果您对本文中提及的工具感到陌生或有所担忧,请放宽心,因为即使您想要开发和部署 AI 模型或构建 AI 应用,也不必成为 AI 专家。TI Edge AI Academy 能够帮助您在自学、课堂环境中通过测验学习 AI 基础知识,并深入了解 AI 系统和软件编程。实验室提供了构建“Hello World” AI 应用的分步代码,而带有摄像头捕获和显示功能的端到端高级应用使您能够按照自己的节奏顺利开发 AI 应用。

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

    关注

    68

    文章

    18261

    浏览量

    222100
  • ti
    ti
    +关注

    关注

    111

    文章

    8187

    浏览量

    210924
  • 嵌入式处理器

    关注

    0

    文章

    247

    浏览量

    30414
  • 软件编程
    +关注

    关注

    1

    文章

    35

    浏览量

    11093
收藏 人收藏

    评论

    相关推荐

    2014年9月TI处理器深圳研讨会火热筹展啦

    亲爱的嵌入式爱好者们:从传感服务TI 处理器拥有可扩展的 ARM 和 DSP 的最广泛产品组合,只需一个软件平台就可以简化您的模块开
    发表于 09-15 17:19

    remo ti网络处理器开发指南

    `remo ti网络处理器开发指南目录`
    发表于 03-18 15:17

    【MangoTree】Atom-RIO的OEM版,适用于批量部署,无缝支持LabVIEW FPGA编程开发

    `【MangoTree】Atom-RIO的OEM版,适用于批量部署,无缝支持LabVIEW FPGA编程开发Atom-RIO的OEM版,便于Atom-RIO的批量部署。高性价比。程序写
    发表于 06-14 16:44

    使多种TI处理器实现统一的单个软件平台

    凭借全新的处理器软件开发套件(SDK),TI 已经统一了开发并简化了迁移过程,范围覆盖了最新的 Sitara 处理器和数字信号处理器系列。所有受支持的器件均可共享一个具有图形导航、工具
    发表于 09-04 14:39

    Raw-OS移植TMS320F28335处理器的感想

    FLASH(本质一高档单片机),在电力电子领域内有比较广泛的应用。小弟有幸在Raw-OS作者txj的尽心指导下成功将Raw-OS移植TMS320F28335处理器。相信各位大部
    发表于 02-15 06:36

    BF51x DSP处理器更高效

    )/无线连接实现易用性,针对高品质测量的简单连接,系统的可编程灵活性,已从8/16向32位解决方案转移(成为一种必需)。ADI提供多种定点和浮点处理器,在功耗、连接、性能与集成度的关键点都极具优势
    发表于 07-23 06:27

    什么是ARM处理器 ARM处理器有哪些系列

    ARM 处理器是一种低功耗高性能的 32 位 RISC(精简指令系统)处理器。从结构 入手对其进行分析,并针对目前流行的 ARM920T 核详细描述其硬件结构和编程。ARM 处理器共有
    发表于 09-24 17:47

    创龙带您解密TI、Xilinx异构多核SoC处理器核间通讯

    、通信、军工等应用领域都有广阔的发展前景。在异构多核SoC处理器,OpenCL将其中一个可编程内核视为主机,将其他内核视为设备。在主机上运
    发表于 09-08 09:39

    ARM处理器中断处理编程是怎么实现的?

    ARM处理器中断处理编程是怎么实现的?
    发表于 04-27 06:46

    ARM微处理器编程基础和接口实验

    慕课电子科技大学.嵌入式系统.第三章.ARM微处理器编程基础和接口实验.ARM微处理器编程基础实验0 目录3 ARM微处理器
    发表于 12-14 09:04

    怎么使用ARM处理器的GPU进行编程工作呢

    怎么使用ARM处理器的GPU进行编程工作呢?有哪位大神可以解释一下
    发表于 08-04 14:17

    Sitara AM62处理器的资料分享

    德州仪器 (TI) 今日推出全新的 Sitara AM62 处理器,有助于将边缘人工智能 (AI) 处理扩展下一代应用,推动了高度集成处理器
    发表于 11-03 06:11

    嵌入式边缘AI应用开发指南

    保驾护航。下面让我们来了解如何不借助手动工具或手动编程来选择模型、随时随地训练模型并将其无缝部署
    发表于 11-03 06:53

    SHARC处理器编程手册无法下载是为什么?

    最近在关注SHARC处理器,因为这处理器在国内音响中用的越来越多,刚才发现SHARC处理器编程参考(包含ADSP-2136x、ADSP-2137x和ADSP-214xx
    发表于 11-30 07:22

    plc的手动与自动如何编程

    首先了解手动与自动的区别,所谓的手动通常是单个动作的点动运行,自动则是按照生产要求一系列连续的动作。因此相对来讲手动编程比较简单,只考虑其自身的限制条件,而自动
    的头像 发表于 12-05 17:23 1.2w次阅读