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

    文章

    19155

    浏览量

    229059
  • ti
    ti
    +关注

    关注

    112

    文章

    8009

    浏览量

    212118
  • 嵌入式处理器

    关注

    0

    文章

    253

    浏览量

    30713
  • 软件编程
    +关注

    关注

    1

    文章

    41

    浏览量

    11281
收藏 人收藏

    评论

    相关推荐

    【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

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

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

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

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

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

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

    ARM微处理器编程模型

    简介ARM微处理器编程模型的一些基本概念,包括工作状态切换、数据的存储格式、处理器异常等,通过对本章的阅读,希望读者能了解ARM微处理器的基本工作原理和一些与程序设计
    发表于 09-09 14:54 382次下载

    ARM微处理器编程模型

    ARM微处理器编程模型 目录ARM微处理器的工作状态ARM体系结构的存储格式指令长度及数据类型ARM微处理器的工作模式ARM体系结构的
    发表于 02-21 09:14 50次下载

    固定图形管线编程处理器的演变

    从图形学算法图形库函数再到硬件图形管线,图形处理器用硬件固化算法,加速数据流处理;从固定图形管线编程图形管线,图形
    发表于 11-18 10:22 739次阅读
    固定图形管线<b class='flag-5'>到</b>可<b class='flag-5'>编程</b>流<b class='flag-5'>处理器</b>的演变

    完全可扩展的软件开发套件提供TI TI处理器产品组合的简化开发

    处理器和数字信号处理器(DSP)系列,允许客户在各种终端产品中使用TI处理器系列,并提供从一个设备下一个设备的简化迁移。直观的开发环境
    的头像 发表于 08-09 16:20 2047次阅读

    EE-294:Blackfin处理器的节能编程

    EE-294:Blackfin处理器的节能编程
    发表于 04-20 20:40 0次下载
    EE-294:Blackfin<b class='flag-5'>处理器</b><b class='flag-5'>上</b>的节能<b class='flag-5'>编程</b>

    EE-350:MEMS麦克风与Blackfin处理器无缝接口

    EE-350:MEMS麦克风与Blackfin处理器无缝接口
    发表于 04-29 14:44 4次下载
    EE-350:MEMS麦克风与Blackfin<b class='flag-5'>处理器</b>的<b class='flag-5'>无缝</b>接口

    EE-266:在ADSP-2136x和ADSP-21371 SHARC®处理器编程S/PDIF

    EE-266:在ADSP-2136x和ADSP-21371 SHARC®处理器编程S/PDIF
    发表于 05-08 10:14 7次下载
    EE-266:在ADSP-2136x和ADSP-21371 SHARC®<b class='flag-5'>处理器</b><b class='flag-5'>上</b><b class='flag-5'>编程</b>S/PDIF

    EE-223:SHARC®处理器的在线闪存编程

    EE-223:SHARC®处理器的在线闪存编程
    发表于 05-19 09:51 1次下载
    EE-223:SHARC®<b class='flag-5'>处理器</b><b class='flag-5'>上</b>的在线闪存<b class='flag-5'>编程</b>

    EE-280:ADSP-2106x SHARC®处理器的在线闪存编程

    EE-280:ADSP-2106x SHARC®处理器的在线闪存编程
    发表于 05-19 10:06 2次下载
    EE-280:ADSP-2106x SHARC®<b class='flag-5'>处理器</b><b class='flag-5'>上</b>的在线闪存<b class='flag-5'>编程</b>

    针对TI汽车处理器新的SAFERTOS库评估包

    体验SAFERTOS针对TI 汽车处理器TDA4x/DRA8x的免费SAFERTOS二进制评估包。在高性能C66x DSP、强大的C7x DSP和ARM Cortex R5F处理器内核
    的头像 发表于 10-09 15:50 327次阅读
    针对<b class='flag-5'>TI</b>汽车<b class='flag-5'>处理器</b>新的SAFERTOS库评估包