NVDIA Jetson TX2软件介绍

介绍

JETSON TX2 模块

它是一台基于NVIDIA Pascal™架构的AI单模块超级计算机。它性能强大,但外形小巧,节能高效,非常适合机器人、无人机、智能摄像机和便携医疗设备等智能终端设备。它支持 Jetson TX1 模块的所有功能,同时可以铸就更大型、更复杂的深度神经网络。

模块技术规格

 

 

Jetson TX2

Jetson TX1

GPU

NVIDIA Pascal™256 CUDA 核心

NVIDIA Maxwell™256 CUDA 核心

CPU

HMP Dual Denver 2/2 MB L2 + 
Quad ARM® A57/2 MB L2

Quad ARM® A57/2 MB L2

视频

4K x 2K 60 Hz 编码 (HEVC)
4K x 2K 60 Hz
解码(12 位支持)

4K x 2K 30 Hz 编码 (HEVC)
4K x 2K 60 Hz
解码(10 位支持)

内存

8 GB 128 LPDDR4
58.3 GB/s

4 GB 64 LPDDR4
25.6 GB/s

显示器

2 DSI 接口、2 DP 1.2 接口/HDMI 2.0 接口/eDP 1.4 接口

2 DSI 接口、1 eDP 1.4 接口/DP 1.2 接口/HDMI 接口

CSI

超级多 6 个摄像头(2 通道
CSI2 D-PHY 1.2
(每个通道 2.5 Gbps

超级多 6 个摄像头(2 通道)
CSI2 D-PHY 1.1
(每个通道 1.5 Gbps

PCIE

Gen 2 | 1x4 + 1x1 2x1 + 1x2

Gen 2 | 1x4 + 1x1

数据存储

32 GB eMMCSDIOSATA

16 GB eMMCSDIOSATA

其他

CANUARTSPII2CI2SGPIO

UARTSPII2CI2SGPIO

USB

USB 3.0 + USB 2.0

连接

1 千兆以太网、802.11ac WLAN、蓝牙

机械

50 毫米 x 87 毫米(400 针兼容板对板连接器)

 

JETSON开发者套件

这款功能强大的开发者套件能够使主板的硬件功能和接口充分发挥效用,预装 Linux 开发环境。同时,它还支持 NVIDIA Jetpack SDK,包括 BSP、深度学习库、计算机视觉、GPU 计算、多媒体处理等众多功能。

 

Jetson Software

JetPack

JetsonDevelopment Pack (JetPack) 是一个按需提供的一体化软件包,捆绑并安装了适用于 NVIDIA Jetson 嵌入式平台的所有开发用软件工具。NVIDIA JetPack SDK是构建AI应用程序的最全面的解决方案。它捆绑了所有Jetson平台软件,包括TensorRT,cuDNN,CUDA工具包,VisionWorks,Streamer和OpenCV,这些都是基于LTS Linux内核的L4T。

JetPack 包括:

深度学习: TensorRT、cuDNN、NVIDIADIGITS™ 工作流程

计算机视觉: NVIDIA VisionWorks、OpenCV

GPU 计算: NVIDIA CUDA、CUDA 库

多媒体: ISP 支持、摄像头图像、视频 CODEC

同时,它还包括 ROS 兼容性、OpenGL、高级开发者工具等等。

 

OS镜像

一个Ubuntu衍生的用于Jetson的sample文件系统

CUDA

用于主机的CUDA工具包(带有交叉开发支持的Ubuntu)

Jetson的CUDA工具包

CUDA® 是NVIDIA 创造的一个并行计算平台和编程模型。它利用图形处理器 (GPU)能力,实现计算性能的显著提高。借助目前已售出的数百万支持 CUDA 的 GPU,软件开发人员、科学家和研究人员正在各种各样的应用程序中使用 GPU 加速计算。CUDA工具包为C和C ++开发人员构建提供了一个全面的开发环境 ,GPU加速的应用程序。该工具包包括用于NVIDIAGPU的编译器,数学库以及用于调试和优化应用程序性能的工具。

参考 http://www.nvidia.cn/object/cudazone-cn.html

 

OpenCV

OpenCV是计算机视觉,图像处理和机器学习领域的领先开源库,现在提供GPU加速以实现实时操作。

OpenCV被广泛的应用,包括:

街景图像拼接

自动检查和监视

机器人和无人驾驶的汽车导航和控制

医学图像分析

视频/图像搜索和检索

电影 – 3D

交互艺术设备 

参考 https://developer.nvidia.com/opencv

 

VisionWorks

VisionWorks是用于计算机视觉(CV)和图像处理的软件开发包。VisionWorks™实现并扩展了Khronos OpenVX标准,并针对具有CUDA功能的GPU和SOC进行了优化,使开发人员能够在可扩展的灵活平台上实现CV应用程序。它包括VPI(视觉编程接口),这是CUDA开发人员使用的一组优化的CV原语。NVX库允许直接访问VPI,OVX库允许通过OpenVX框架间接访问VPI。

VisionWorks的核心功能是针对以下方面的解决方案而设计的:

机器人和无人机

自动驾驶

智能视频分析

增强现实

参考 https://developer.nvidia.com/embedded/visionworks

 

cuDNN

CUDA深度神经网络库为深度学习框架提供了高性能的基元。它包括对卷积,激活函数和张量变换的支持。

NVIDIACUDA®深度神经网络库(cuDNN)是一个用于深层神经网络的GPU加速库。cuDNN为标准例程(如向前卷积,向后卷积,归一化和激活层)提供高度优化的实现。cuDNN是NVIDIA深度学习SDK的一部分。

世界各地的深度学习研究人员和框架开发人员都依靠cuDNN来实现高性能GPU加速。它使他们能够专注于训练神经网络和开发软件应用程序,而不是花时间在低级别的GPU性能调整上。 cuDNN加速广泛使用的深度学习框架,包括Caffe2,MATLAB,微软认知工具包,TensorFlow,Theano和PyTorch。

参考 https://developer.nvidia.com/cudnn


TensorRT

TensorRT是一款用于图像分类,分割和对象检测神经网络。高性能的深度学习推理优化程序和运行库,它加速了深度学习推理,并减少了卷积和去卷积神经网络的运行时间。可为深度学习应用提供低延迟,高吞吐量推理。TensorRT可用于快速优化,验证和部署经过训练的神经网络,以推理超大规模数据中心,嵌入式或汽车产品平台。

开发人员可以使用TensorRT以INT8或FP16的优化精度进行快速推理,从而大幅降低延迟,如实时服务(如云上的流式视频分类或嵌入式和汽车平台上的对象检测和分割)所要求的。

有了TensorRT,开发人员可以专注于开发新型的AI驱动的应用程序,而不是推理部署的性能调优。TensorRT运行时确保最佳的推断性能,可以满足最苛刻的延迟和吞吐量要求。

TensorRT可以部署到数据中心内的Tesla GPU,Jetson嵌入式平台和NVIDIADRIVE自主驾驶平台。

参考 https://developer.nvidia.com/tensorrt

 

多媒体API

Jetson多媒体API包提供了底层的API,用于灵活的应用程序开发。

相机应用程序API:libargus为相机应用程序提供低级帧同步API,每帧相机参数控制,多个(包括同步)相机支持和EGL流输出。RAW输出需要ISP的CSI 相机可以与libargus或GStreamer插件一起用。无论哪种情况,都使用V4L2媒体控制器传感器驱动程序API。

传感器驱动程序API:V4L2API支持视频解码,编码,格式转换和缩放功能。用于编码的V4L2开启了许多功能,比如比特率控制,质量预设,低延迟编码,时间折衷,运动矢量地图等等。

 

L4T

NVIDIAL4T为Jetson平台提供了Linux内核,bootloader,NVIDIA驱动程序,闪存实用程序,示例文件系统等。

您可以定制L4T软件以适应您的项目需求。 通过遵循平台调整和启动指南,您可以优化使用完整的Jetson产品功能集。

 

DeepStream SDK on Jetson

NVIDIADeepStream简化了智能城市和超大规模数据中心深度学习的可扩展智能视频分析(IVA)应用程序的开发。它将用于推理的NVIDIA TensorRT,用于转码的视频编解码器SDK以及所有需要的预处理和数据管理集成到一个优化的API中。开发人员现在可以使用它来快速构建新的应用程序,将视频转化为宝贵的见解。

 

DeepStreamSDK的应用程序包括图像分类,场景理解,视频分类和内容过滤。

开发人员可以使用SDK来有效处理和理解视频帧,以满足最苛刻的吞吐量和延迟要求。使用DeepStreamSDK开发的应用程序可以部署到NVIDIA Tesla加速计算平台。

 

SDK包括样例代码和预先训练好的深度学习模型,作为对视频流进行分类和对象检测的例子。对于需要高通道密度的应用,SDK包含智能解码的示例。

 

主要特征

 

部署广泛使用的神经网络模型,如GoogLeNet和ResNet,用于实时视频内容分析

支持常见的视频格式,如H.264,HEVC / H.265,MPEG-2,MPEG-4,VP9和VC1

用简单的C ++ API集成到现有的工作流程中

全面部署神经网络(FP32)或优化精度(INT8,FP16)

针对NVIDIA®Tesla®P4 GPU加速器进行了优化。

 

Jetson上的NVIDIA DeepStream SDK是API和库的集合,可帮助开发人员在Jetson平台上构建和部署强大的智能视频分析(IVA)解决方案。 API和库作为Gstreamer插件提供,便于使用。

 

Jetson上的这个SDK可以构建复杂的应用程序,包括图像捕捉,编码,解码,使用TensorRT进行推理等等。

 

 

Jetson上的NVIDIA DeepStream SDK使开发人员能够轻松地在他们的产品中创建和部署基于AI的智能视频分析(IVA)功能。应用程序开发人员可以使用此SDK快速构建原型,并构建从智能相机到智能城市应用设备,机器人和工业自动化等产品。

 

通过Jetson先进的人工智能功能和丰富的成像和I / O功能,Jetson使开发人员能够构建高度集成的系统,可以在小尺寸的边缘部署小至7.5W的系统。

 

Jetson上的DeepStream SDK使用Jetpack,包括L4T,多媒体API,CUDA和TensorRT。 SDK提供了丰富的插件和库集合,使用Gstreamer框架构建,使开发人员能够构建灵活的应用程序,将视频转化为有价值的见解。DeepStream还附带了示例应用程序,包括源代码和应用程​​序适配指南,以帮助开发人员快速开始构建。

 

开发IVA应用程序以获得完整的场景理解,需要创建多媒体处理图并编排多个DNN同步工作的数据流。这可能是一个复杂和耗时的过程。此SDK旨在消除复杂性,因此您可以专注于应用程序开发。通过利用Gstreamer插件架构,DeepStream使得使用TensorRT将图像捕获,编码,解码,缩放和推理结合起来变得比以往更容易。该体系结构允许您利用Jetson的所有硬件功能来最大化吞吐量和性能。通过利用Jetson的统一内存架构,DeepStream SDK使您能够减少内存管理开销并提供低延迟解决方案。

Features

l  基于GStreamer插件构建基于AI的视频分析应用的模块化和可扩展的框架

l  使用简单密钥文件格式的应用程序配置

l  优化内存管理,如零缓冲区副本,以最大化吞吐量和性能

l  示例包括结合多个深度学习网络的端到端应用程序,将像素转换为丰富的元数据

l  预先训练的示例DNN,用于对汽车和行人等物体进行分类,并根据ResNet和GoogLeNet了解其属性(如汽车制造,汽车颜色和汽车类型)

l  来自USB和CSI摄像头,RTSP流输入或磁盘录制文件的多路输入

l  多个输出接收器包括渲染显示,元数据记录到文件和保存到磁盘

l  全面部署神经网络(FP32)或优化精度(FP16)

l  针对NVIDIA Jetson进行了优化

 

Prerequisites

l  包括 L4T R28.1, CUDA 8.0, TensorRT 2.1, VisionWorks1.4的Jetpack 3.1

 

安装 JetPack L4T

JetPackL4T在主机Ubuntu x86_64机器上运行,并通过远程访问设置您的开发环境和JetsonDevelopment Kit目标。

1.     添加对JetPack的执行权限 - $ {VERSION} .run

chmod +x JetPack-${VERSION}.run

 

2.     在您的主机Ubuntu机器的终端运行JetPack - $ {VERSION} .run。

 

 

 

3.      接下来,JetPack安装程序将指示安装目录。

4. 选择要设置的开发环境。

 

5.     JetPack安装程序会弹出一个窗口,在安装过程中请求权限; 你需要在这里输入你的sudo密码。

6.     打开组件管理器,它允许您自定义要安装的组件。选择您想要开发的Jetson Developer Kit来自定义每个设备的安装组件。

NOTE: To run a standalone Ubuntu install, deselect Jetson target specific entries.

7.     接受所选组件的许可协议。

8.     组件管理器将继续安装。主机安装步骤完成后,单击“下一步”按钮继续安装目标组件。

NOTE: JetPack will now proceed with setting up the Jetson Developer Kit target, if the corresponding components were selected (i.e., flashing the OS and pushing components to the Jetson Developer Kit target).

9.     如果在组件管理器中取消选择Flash OS,则需要输入IP地址,用户名和密码才能建立到目标设备的ssh连接。

输入所需信息并单击下一步后,JetPack将开始在目标设备上安装组件。

10. 如果在组件管理器中选择了Flash OS,则需要为特定环境选择网络布局。

11.   如果您选择设备通过路由器/交换机布局访问Internet,则会要求您选择要使用哪个接口访问Internet

 

12.   如果您在主机上选择了由DHCP服务器分配的设备获取IP,并通过主机布局访问Internet,则必须选择要用于Internet访问的接口,以及要用于目标接口

13.   弹出窗口将指示您将设备置于强制USB恢复模式,以便您可以刷新操作系统。

14接下来,系统会提示您在特定目标机器上安装组件,并编译sample

15.   安装将完成。

 

编译 Samples

如果在安装的组件选择部分选中“编译样本”,JetPack会自动编译所有样本。 CUDA示例可以在以下目录中找到:/NVIDIA_CUDA-_Samples

 

你可以重新编译sample通过运行:

SMS=53 EXTRA_LDFLAGS=--unresolved-symbols=ignore-in-shared-libs TARGET_ARCH=aarch64 make

运行 Sample Code

CUDA示例目录将被JetPack复制到设备上的主目录构建的二进制文件位于以下目录中:/home/ubuntu/NVIDIA_CUDA-<version>_Samples/bin/aarch64/linux/release/

 

通过在终端中调用来运行它们,或者在文件浏览器中双击它们。例如,当您运行oceanFFT sample时,将显示以下屏幕。

你可能感兴趣的:(NVDIA Jetson TX2软件介绍)