阿瑟·c·克拉克的第三定律指出:“任何足够先进的技术都是不可区分的魔法。”
我非常喜欢的一个魔术节目是佩恩和泰勒的《愚弄我们》(Fool Us),在那里,魔术师们展示他们最新的魔术技巧,试图愚弄主持人佩恩·吉列特(Penn Jillette)和雷蒙德·泰勒(Raymond Teller)。如果佩恩和泰勒能确定魔术是如何完成的,他们会尝试用晦涩难懂的术语向魔术师解释。
NVIDIA的杰森AGX泽维尔(图1)这不是一个神奇的设备,但它是可以做一些令人惊叹的事情的先进技术。特别是,它可以处理高级机器学习(ML)推理工作,比如对来自多个摄像机的视频流进行物体识别。对许多人来说,这似乎是一个魔术,但这只是利用公司先进的硬件和过多的软件。
1.NVIDIA的Jetson AGX Xavier模块(右)位于开发系统内部(左)。
这个系列的第一部分,”NVIDIA Jetson AGX Xavier 1部分:硬件,查看了Jetson AGX Xavier硬件的细节。350毫米2片上系统拥有超过90亿个晶体管。这包括四轴64位Arm内核和一个带有512 CUDA张量内核的Volta GPU和8个Volta流处理器。此外还有深度学习加速器(DLA)和可编程视觉加速器(PVA)。
AGX Xavier的软件支持与早期的Jetson TX1和TX2相同。这包括NVIDIA JetPack和DeepStream sdk,以及对公司CUDA、cuDNN和TensorRT软件库的支持。这些支持像TensorFlow和Caffe这样的ML框架。
我开始探索英伟达的软件,使用它的“演示两天”(图2).这是一个循序渐进的使用软件的指南,运行在Jetson AGX Xavier,以及培训软件,可以运行在您的工作站或云。我在NVIDIA GeForce RTX 2080 Ti上进行了本地培训。
2.“演示两天”将DIGITS训练系统与运行在Jetson AGX Xavier上的推理引擎应用程序连接在一起。
这个过程需要两天的时间,但你在整个过程中都在学习。主机软件运行与Jetson AGX Xavier上相同的Ubuntu 16.04 Linux。可以对后者进行培训;然而,可用的存储容量和处理能力使得这是一个非常漫长而乏味的过程。我为我的Core i7 PC安装了一个2tb的M.2固态硬盘,用于处理用于培训的大型数据集。
《Jetson AGX Xavier》安装了JetPack,但我必须将其安装在我的PC上。使用多个启动和安全启动支持来实现这一点实际上比阅读培训指南花费了更多的精力。
安装软件后的第一步是运行一些预先配置好的演示应用程序。一种是利用可以插入Jetson AGX Xavier的摄像头来突出系统运行TensorRT支持的实时处理能力。这是确保所有硬件都正常工作的好方法。
接下来是DIGITS训练框架的设置(图3)它运行在主机上或云上。这个基于web的系统,用Python编写,用于训练深度神经网络(DNN)模型。DIGITS使用Docker,一种在企业中常用的基于容器的处理引擎。的NVIDIA GPU Cloud (NGC)为需要最小配置的DIGITS培训提供Docker容器。因此,新用户实际上可以在两天的时间内利用这个系统。
3.英伟达的DIGITS是一款基于docker的人工智能培训系统的基于网络的界面。
本指南中的练习逐渐变得更加复杂和复杂,因此可以很好地概述DIGITS的功能。当我完成指南时,我能够获取新的培训数据并将其添加到现有的模型中。还可以利用系统内不同类型的机器学习加速。一个例子是启用和禁用DLA的能力。
本指南中的示例支持图像识别分类、目标检测定位和分割自由空间(图4).他们使用2D图像以及处理视频流。当然,Jetson AGX Xavier所提供的机器学习支持并不局限于这些类型的输入。
4.Jetson AGX Xavier可以使用机器学习模型识别和分割图像。
演示中的孩子很好地介绍了DIGITS和如何训练神经网络模型。本文没有详细介绍如何创建包含样例应用程序中使用的推理引擎的应用程序。这是开发人员需要更深入地研究TensorRT等工具的领域。不包含这个演示的一个原因是可以使用不同的编程语言。
NVIDIA有关于GitHub的额外教程,包括机器人技术中的深度强化学习.
总的来说,两天的演示是一个伟大的起点,揭示了一些在Jetson AGX Xavier上运行的深层神经网络背后的魔力。