计算机视觉/视频分析

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 核心。

如果您使用 GPU 进行深度学习执行,请继续阅读以了解有关 DLA 的更多信息、为什么它有用以及如何使用它。

深度学习加速器概述

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

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

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

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

如何使用深度学习加速器

A flow diagram that highlights the steps necessary to optimize a model for use with the Deep Learning Accelerator.
图 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 数据集用作玩具示例,以便于再现步骤。

探索 Jetson_dla_tutorial 开始。

更多资源

 

标签