NVIDIA Jetson Orin深度学习加速器入门

描述

如果你是一个活跃的 Jetson 开发者,你知道 NVIDIA ISAAC 的一个关键优点是它将 CPU 和 GPU 组合成一个单一的模块,在一个可以部署在边缘的小、低功耗软件包中为你提供扩展的 NVIDIA 软件堆栈。

Jetson 还具有多种其他处理器,包括硬件加速编码器和解码器、图像信号处理器和深度学习加速器( DLA )。

DLA 可在 Jetson AGX Xavier, Xavier NX, Jetson AGX Orin 和 Jetson Orin-NX 模块上使用。最近的 NVIDIA DRIVE Xavier 和基于 Orin 的平台也有 DLA 核心。

深度学习加速器概述

DLA 是一种特定于应用的集成电路,能够有效地执行固定操作,如卷积和池,这在现代神经网络架构中很常见。虽然 DLA 没有那么多 支持的层 作为 GPU ,它仍然支持许多流行的神经网络架构中使用的各种层。

在许多情况下,层支持可能涵盖模型的需求。例如, NVIDIA TAO 工具包 包括 DLA 支持的各种预训练模型,从目标检测到动作识别。

虽然需要注意的是, DLA 吞吐量通常低于 GPU 的吞吐量,但它具有能效,允许您卸载深度学习工作负载,将 GPU 释放出来用于其他任务。或者,根据您的应用程序,您可以在 GPU 和 DLA 上同时运行相同的模型,以实现更高的净吞吐量。

许多 NVIDIA Jetson 开发者已经在使用 DLA 成功优化他们的应用程序。 Postmates 利用 DLA 和 GPU 优化了 Jetson AGX Xavier 上的交付机器人应用。这个 菜鸟实验室 使用 DLA 优化其物流车辆。如果您希望充分优化应用程序, DLA 是 Jetson 系列中需要考虑的一个重要部分。

如何使用深度学习加速器

解码器

图 1.Jetson Orin 上深度学习加速器的粗略架构图

要使用 DLA ,首先需要使用深度学习框架(如 PyTorch 或 TensorFlow )来训练模型。接下来,您需要使用 NVIDIA TensorRT 导入并优化您的模型。 TensorRT 负责生成 DLA 引擎,也可以用作执行这些引擎的运行时。最后,您应该分析您的模式,并尽可能进行优化,以最大限度地提高 DLA 兼容性。

开始使用深度学习加速器

准备好潜水了吗?这个 Jetson_dla_tutorial GitHub 项目演示了一个基本的 DLA 工作流,可以帮助您优化 Jetson 的应用程序。

通过本教程,您可以学习如何在 PyTorch 中定义模型,使用 TensorRT 导入模型,使用 NVIDIA Nsight System profiler 分析性能,修改模型以获得更好的 DLA 兼容性,以及为 INT8 执行进行校准。请注意, CIFAR10 数据集用作玩具示例,以便于再现步骤。

关于作者

John Welsh 是 NVIDIA 自治机器的开发技术工程师,他与 NVIDIA Jetson 一起开发加速应用程序。

审核编辑:郭婷

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分