Jetson-inference

来源:互联网 发布:垃圾邮件分类算法 编辑:程序博客网 时间:2024/05/16 17:38

这是一个在NVIDIA Jetson TX1/TX2上部署基于TensorRT的深度学习推理和深度视觉感知的指导教程。


这里写图片描述

部署深度学习

欢迎使用我们针对NVIDIA DIGITS 和 Jetson TX1/TX2的推理和深度视觉实时运行库的训练教程。

This repo uses NVIDIA TensorRT for efficiently deploying neural networks onto the embedded platform, improving performance and power efficiency using graph optimizations, kernel fusion, and half-precision FP16 on the Jetson.

我们使用TensorRT高效地将神经网络部署到NVIDIA嵌入式平台,通过在Jetson在使用图形优化、内核融合、和半精度FP16,来优化TX1//TX2的性能和功耗。通俗地讲,就是以精度换取速度。

视觉处理:例如使用 imageNet来做图像识别,detectNet来做目标跟踪定位,sgNet来做图像分割,继承共享的tensorNet的对象。
下面的例子提供针对摄像头数据流数据和存储的图像数据的处理示例。 具体可以参考 Deep Vision API Reference Specification API文档。

这里写图片描述

参考最近的 Parallel ForAll 的帖子,JetPack3.1 加倍Jetson低延时推理性能。
针对无人机数据集的图像分割模型与训练教程
使用DIGIT和MS—COCO训练集来做对象侦测
使用DIGIT和ImageNet ILSVRC12数据集来做图像识别

    • DIGITS工作流程
    • 系统配置
    • 在Jetsons的源码构建
    • 使用 ImageNet实现图像分类
      • 使用终端控制台程序
      • 运行实时相机流的演示实例
      • 用DIGITS重新训练网络
      • 自定义图像的类别
      • 将数据集导入DIGITS
      • 用DIGITS生成图像分类的模型 model
      • 用DIGITS测试分类模型 model
      • 将Model Snapshot下载到Jetson
    • 使用DetectNet定位物体坐标
      • 在DIGITS中检测数据格式
      • 下载侦测数据集 Detection database
      • 将数据导入到DIGITS
      • 用DIGITS生成侦测模型 Detection model
      • y用DIGITS测试 侦测模型的推理
      • 用DIGITS生成图像分类的模型 model
      • 将Model Snapshot下载到Jetson
      • 用TensorRT DetectNet Patches
      • 在Jetson上用命令行进行图像处理
      • 多类别的物体侦测模型
      • 在Jetson上运行Live Camera实时侦测的演示实例
    • 使用SegNets实现图像分割
      • 下载无人机的数据集
      • 将Aerial Drone 数据集输入到DIGITS
      • 生成训练网络 FCN-Alexnet
      • 在DIGITS中训练FCN-Alexnet网络
      • 用DIGITS测试训练的网络
      • 用TensorRT FCN-Alexnet Patches
      • 在Jetson平台上运行图像分割的模型

DIGITS工作流程

想入门神经网络(Deep Neural Networks DNNs)和机器学习(Machine Learning),可以试着学习这个用于训练和推理的入门教程。
这里写图片描述

使用NVIDIA的深度学习工具-DIGITS,能够很容易入门神经网络的训练,并且能够高效地将其部署到自己的应用领域。通常带有高性能GPU的机器,如服务器、PC、笔记本可以用DIGITS来用于训练,集成GPU的Jetson嵌入式平台可以用于部署到具体的应用领域。

这里写图片描述

Train: 英伟达DIGITS是一个交换式的网络模型训练工具,可以在PC或者云端进行。

Inference: Jetson平台根据训练好的模型,用TensorRT来部署,用于实时推理。TensoorRT使用图形优化和半精度FP16可以支持双DNN推理。

DIGITS和TensorRT配合使用,形成了一个高效的开发流程,用于开发和部署用于高性能AI和感知的神经网络应用。


系统配置

在这个教程中,我们将会使用一个宿主机host PC(或者AWS云)用于训练神经网络,并且在Jetson上进行推理计算。 宿主机也将使用最新的JetPack给Jetson刷新系统和安装工具软件。

推荐系统要求:
用于训练的GPU: Maxwell or Pascal-based GPU or AWS P2 instance.
Ubuntu14.04 x86_64 or Ubuntu 16.04 x86_64 (see DIGITS AWS AMI image).

部署:
Jetson TX2 Developer Kit with JetPack 3.0 or newer (Ubuntu 16.04
Jetson TX1 Developer Kit with JetPack 2.3 or newer (Ubuntu 16.04 aarch64

首先需要给宿主机PC安装合适的系统和相应的工具软件。
Installing Ubuntu on the Host ubuntu16.04
下载并安装Ubuntu 16.04 x86_64系统,(Ubuntu 16.04 x86_64,通过apt-get安装一些软件包,也是可以使用的)

http://releases.ubuntu.com/16.04/ubuntu-16.04.2-desktop-amd64.iso
http://releases.ubuntu.com/16.04/ubuntu-16.04.2-desktop-amd64.iso.torrent

Running JetPack on the Host JetPack-L4T-3.1
在宿主PC上下载最新的JetPack,它除了能够给Jetson开发板安装系统和最新的板载支持软件包(BSP),同时也可以自动给宿主机安装一些开发工具,比如 CUDA Toolkit, 具体参见JetPack Release Note.

cd <directory where you downloaded JetPack>
chmod +x JetPack-L4T-3.1-linux-x64.run
./JetPack-L4T-3.1-linux-x64.run
之后JetPack GUI开始出现,具体的安装教程参见 the step-by-step Install Guide
因为训练网络需要使用CUDA,所以推荐使用 Full install, 点击右上角的按钮,点击Next之后,JetPack将会下载安装软件包。

下载完之后,JetPack将会先在宿主机上安装软件包,之后将会调到L4T BSP(Linux for Target board support packages). 这将需要用Micro-USB 连接宿主机和目标板,然后让Jetson目标板进入Recovery模式,当宿主机终端使用lsusb命令出现,NVIDIA corp,说明已经进入恢复模式。

当刷完系统之后,Jetson将会重启并且进入ubuntu桌面系统,之后将会通过SSH连接到宿主机,将后续的软件包安装到Jetson平台。比如ARM aarch64核构建的CUDA Toolkit、cuDNN TensorRT

Installing NVIDIA Driver on the Host
Installing cuDNN on the Host
Installing NVcaffe on the Host
Installing DIGITS on the Host

在Jetsons的源码构建

使用 ImageNet实现图像分类

使用终端控制台程序

运行实时相机流的演示实例

用DIGITS重新训练网络

自定义图像的类别

将数据集导入DIGITS

用DIGITS生成图像分类的模型 model

用DIGITS测试分类模型 model

将Model Snapshot下载到Jetson

使用DetectNet定位物体坐标

在DIGITS中检测数据格式

下载侦测数据集 Detection database

将数据导入到DIGITS

用DIGITS生成侦测模型 Detection model

y用DIGITS测试 侦测模型的推理

用DIGITS生成图像分类的模型 model

将Model Snapshot下载到Jetson

用TensorRT DetectNet Patches

在Jetson上用命令行进行图像处理

多类别的物体侦测模型

在Jetson上运行Live Camera实时侦测的演示实例

使用SegNets实现图像分割

下载无人机的数据集

将Aerial Drone 数据集输入到DIGITS

生成训练网络 FCN-Alexnet

在DIGITS中训练FCN-Alexnet网络

用DIGITS测试训练的网络

用TensorRT FCN-Alexnet Patches

在Jetson平台上运行图像分割的模型

原创粉丝点击