NVIDIA TensorRT高性能深度学习推理
NVIDIA TensorRT高性能深度学习推理
NVIDIA TensorRT 是用于高性能深度学习推理的 SDK。此 SDK 包含深度学习推理优化器和运行时环境,可为深度学习推理应用提供低延迟和高吞吐量。

在推理过程中,基于 TensorRT 的应用程序的执行速度可比 CPU 平台的速度快 40 倍。借助 TensorRT,您可以优化在所有主要框架中训练的神经网络模型,精确校正低精度,并最终将模型部署到超大规模数据中心、嵌入式或汽车产品平台中。
TensorRT 以 NVIDIA 的并行编程模型 CUDA 为基础构建而成,可帮助您利用 CUDA-X 中的库、开发工具和技术,针对人工智能、自主机器、高性能计算和图形优化所有深度学习框架中的推理。
TensorRT 针对多种深度学习推理应用的生产部署提供 INT8 和 FP16 优化,例如视频流式传输、语音识别、推荐和自然语言处理。推理精度降低后可显著减少应用延迟,这恰巧满足了许多实时服务、自动和嵌入式应用的要求。
可以从每个深度学习框架中将已训练模型导入到 TensorRT。应用优化后,TensorRT 选择平台特定的内核,在数据中心、Jetson 嵌入式平台以及 NVIDIA DRIVE 自动驾驶平台上更大限度提升 Tesla GPU 的性能。
借助 TensorRT,开发者可专注于创建新颖的 AI 支持应用,无需费力调节性能来部署推理工作。
TensorRT 优化与性能


与所有主要框架集成
NVIDIA 与深度学习框架开发者紧密合作,使用 TensorRT 在 AI 平台上实现优化的推理性能。如果您的训练模型采用 ONNX 格式或其他热门框架(例如 TensorFlow 和 MATLAB),您可以通过一些简单的方法将模型导入到 TensorRT 以进行推理。下面介绍了一些集成,其中包含了新手入门信息。
TensorRT 和 TensorFlow 已紧密集成,因此您可以同时尽享 TensorFlow 的灵活性和 TensorRT 的超强优化性能。
MATLAB 已通过 GPU 编码器实现与 TensorRT 的集成,这能协助工程师和科学家在使用 MATLAB 时为 Jetson、DRIVE 和 Tesla 平台自动生成高性能推理引擎。
TensorRT 提供了一个 ONNX 解析器,因此您可以轻松地从框架(例如 Caffe 2、Chainer、Microsoft
Cognitive Toolkit、MxNet 和 PyTorch)中将 ONNX 模型导入到 TensorRT。
TensorRT 还与 ONNX Runtime 集成,助您以 ONNX 格式轻松实现机器学习模型的高性能推理。
如果您在专有或自定义框架中执行深度学习训练,请使用 TensorRT C++
API 来导入和加速模型。

“通过在 V100 上使用
Tensor 核心、新近优化的 CUDA 库以及 TF-TRT 后端,我们能将原本就很快的深度学习 (DL) 网络速度再提升 4 倍”
公布 TensorRT
7.1:新功能
TensorRT 7.1 针对 NVIDIA A100 GPU 进行了优化并加入了新优化,现可使用 INT8 精度加速 BERT 推理,实现高达 V100 GPU 六倍的性能。NVIDIA 开发者计划成员可于 2020 年夏季下载 TensorRT 7.1。
TensorRT 7.0(当前版本)包含:
- 新编译器,可对语音和异常检测中的常用时间递归神经网络进行加速
- 对 20 多种新 ONNX 操作的支持,这些操作可对 BERT、TacoTron 2 和 WaveRNN 等关键的语音模型进行加速
- 对动态形状的扩展支持,可实现关键的会话式 AI 模型
- 新版插件、解析器
- BERT、Mask-RCNN、Faster-RCNN、NCF 和 OpenNMT 的新示例
其他资源
概览
- NGC 中的 TensorRT 容器、模型和脚本
- 运行 TensorRT 的“Hello
World”(示例代码) - 将 ONNX 用作输入,运行 TensorRT 的“Hello
World”(示例代码) - 使用自定义校准以 INT8 精度执行推理(示例代码)
- TensorRT 简介(网络研讨会)
- 使用 TensorRT 执行
8 位推理(网络研讨会)

会话式 AI
- 使用 TensorRT 通过
BERT 实现实时自然语言理解(博客) - 使用 TensorRT 进行自动语音识别 (Notebook)
- 使用 TensorRT 对实时文字转语音进行加速(博客)
- 使用 BERT 实现
NLU (Notebook) (Notebook) - 实时文字转语音(示例)
- 基于序列到序列 (seq2seq) 模型的神经网络机器翻译 (NMT)(示例代码)
- 逐层构建 RNN 网络(示例代码)
开始实操训练
NVIDIA 深度学习学院 (DLI) 为 AI 和加速计算领域的开发者、数据科学家和研究人员提供实操训练。立即参加关于使用 TensorRT 优化和部署 TensorFlow 模型以及“使用 TensorRT 部署智能视频分析”的自定进度选修课程,获取 TensorRT 实操经验。
适用范围
NVIDIA 开发者计划会员可访问 TensorRT 产品页面,免费使用 TensorRT 进行用于开发和部署。最新版本的插件、解析器和示例也以开源形式提供,可从 TensorRT GitHub 资源库获取。
开发者还可以通过 NGC 容器注册表中的 TensorRT 容器获得 TensorRT。
TensorRT 已纳入:
- 用于在计算机视觉和智能视频分析
(IVA) 应用中进行实时流分析的 NVIDIA Deepstream SDK - 适用于 NVIDIA DRIVE PX2 自动驾驶平台的 NVIDIA DriveInstall
- 适用于 Jetson TX1、TX2
嵌入式平台的 NVIDIA Jetpack
NVIDIA TensorRT高性能深度学习推理的更多相关文章
- NVIDIA TensorRT:可编程推理加速器
NVIDIA TensorRT:可编程推理加速器 一.概述 NVIDIA TensorRT是一个用于高性能深度学习推理的SDK.它包括一个深度学习推理优化器和运行时间,为深度学习推理应用程序提供低延迟 ...
- NVIDIA GPUs上深度学习推荐模型的优化
NVIDIA GPUs上深度学习推荐模型的优化 Optimizing the Deep Learning Recommendation Model on NVIDIA GPUs 推荐系统帮助人在成倍增 ...
- 基于NVIDIA GPUs的深度学习训练新优化
基于NVIDIA GPUs的深度学习训练新优化 New Optimizations To Accelerate Deep Learning Training on NVIDIA GPUs 不同行业采用 ...
- TX2之多线程读取视频及深度学习推理
背景 一般在TX2上部署深度学习模型时,都是读取摄像头视频或传入视频文件进行推理,从视频中抽取帧进行目标检测等任务.对于大点的模型,推理的速度是赶不上摄像头或视频的帧率的,如果我们使用单线程进行处理, ...
- [笔记] 基于nvidia/cuda的深度学习基础镜像构建流程 V0.2
之前的[笔记] 基于nvidia/cuda的深度学习基础镜像构建流程已经Out了,以这篇为准. 基于NVidia官方的nvidia/cuda image,构建适用于Deep Learning的基础im ...
- NVIDIA数据中心深度学习产品性能
NVIDIA数据中心深度学习产品性能 在现实世界的应用程序中部署AI,需要训练网络以指定的精度融合.这是测试AI系统的最佳方法-准备将其部署在现场,因为网络随后可以提供有意义的结果(例如,对视频流正确 ...
- [笔记] 基于nvidia/cuda的深度学习基础镜像构建流程
基于NVidia开源的nvidia/cuda image,构建适用于DeepLearning的基础image. 思路就是先把常用的东西都塞进去,再装某个框架就省事儿了. 为了体验重装系统的乐趣,所以采 ...
- TensorRT深度学习训练和部署图示
TensorRT深度学习训练和部署 NVIDIA TensorRT是用于生产环境的高性能深度学习推理库.功率效率和响应速度是部署的深度学习应用程序的两个关键指标,因为它们直接影响用户体验和所提供服务的 ...
- NVIDIA TensorRT 让您的人工智能更快!
NVIDIA TensorRT 让您的人工智能更快! 英伟达TensorRT™是一种高性能深度学习推理优化器和运行时提供低延迟和高通量的深度学习推理的应用程序.使用TensorRT,您可以优化神经网络 ...
随机推荐
- UVA11019KMP(二维矩阵匹配出现次数)
题意: 给你两个矩阵,一个大的一个小的,然后问你这个小矩阵在大的矩阵里出现了多少次? 思路: 说好了AC自动机的,我自己尝试写了个暴力的KMP竟然过了,AC自动机自己的模板还没写完 ...
- JQuery跨站脚本漏洞
原理: jQuery中过滤用户输入数据所使用的正则表达式存在缺陷,可能导致 location.hash 跨站漏洞 影响版本: jquery-1.7.1~1.8.3 jquery-1.6.min.js, ...
- 1.简单认识PHP和环境搭建
1.关于PHP PHP(Hypertext Perprocessor,超文本预处理器),是一种服务器端.跨平台.HTML嵌入式的脚本语言,其独特的语法混合了C.Java.和Perl语言的特点,是一种被 ...
- 16.PHP_Ajax模拟服务器登录验证
Ajax模拟登陆验证 index.php <script language="javascript"> var http_request = false; ...
- SpringBoot项目启动后自动打开浏览器
编写一个类,注册为Spring的Bean,然后实现CommandLineRunner接口,重写run()方法即可 @Component public class OpenBrowser impleme ...
- WireShark之抓telnet密码
背景环境: 涉及到telnet和ssh知识的时候,必须要提的是telnet传输是明文的不安全的,传输的密码都会泄露,有兴趣来做个试验. 一:工具 ·①Windows 7 PC机:②GNS3:③Wire ...
- 数据人必读!玩转数据可视化用这个就够了——高德LOCA API 2.0升级来袭!
引言 "一图胜千言",大数据时代来临,数据与人们生活密切相关.复杂难懂且体量庞大的数据给人的感觉总是冷冰冰的,让人难以获取到重点信息,也找不出规律和特征,数据价值发挥不出来.空间数 ...
- 在Visual Studio 中使用git——文件管理-上(四)
在Visual Studio 中使用git--什么是Git(一) 在Visual Studio 中使用git--给Visual Studio安装 git插件(二) 在Visual Studio 中使用 ...
- phpstudy2018 开启目录浏览
废话不多说直接开始 一.打开 vhosts-ini 配置文件 二.加入以下内容 注意填写自己的网站根目录 <Directory "你自己的网站根目录"> Option ...
- 『动善时』JMeter基础 — 14、使用JMeter发送Post请求
目录 1.Post请求参数类型说明 2.用于演示的项目说明 3.发送Post请求示例 (1)测试计划内包含的元件 (2)请求参数类型为x-www-form-urlencoded 4.请求参数form- ...