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,您可以优化神经网络 ...
随机推荐
- 病毒木马查杀实战第025篇:JS下载者脚本木马的分析与防御
前言 这次我与大家分享的是我所总结的关于JS下载者脚本木马的分析与防御技术.之所以要选择这样的一个题目,是因为在日常的病毒分析工作中,每天都会遇到这类病毒样本,少则几个,多则几十个(当然了,更多的样本 ...
- JAVA WEB应用目录
目录 Tomcat目录 MyEclipse目录 部署启动应用 Tomcat目录 首先,官方下载 tomcat 安装包,解压.得到下面的目录 bin 目录是tomcat启动和关闭目录.startup.b ...
- Linux中的.bash_ 文件详解
目录 .bash_history .bash_logout .bash_profile .bashrc 每个用户的根目录下都有四个这样的 bash文件,他们是隐藏文件,需要使用-a参数才会显示出来 . ...
- Openstack 虚拟机宽带限速
修改Neutron配置文件,使其支持Qos 修改Neutron.conf service_plugins = neutron.services.qos.qos_plugin.QoSPlugin 修改p ...
- MyBatis Plus 实现多表分页模糊查询
项目中使用springboot+mybatis-plus来实现. 但是之前处理的时候都是一个功能,比如分页查询,条件查询,模糊查询. 这次将这个几个功能合起来就有点头疼,写下这边博客来记录自己碰到的问 ...
- 【phpstorm】Server's certificate is not trusted
问题描述 phpstorm 一直跳出 问题解决 file-->Settings然后搜索Server Certificates,选中框打钩
- 头文件string.h,cstring与string
string.h string.h是一个C标准头文件,所有的C标准头文件都形如name.h的形式,通过#include <string.h>可以导入此头文件.之后我们就可以在程序中使用st ...
- NumPy之:ndarray多维数组操作
NumPy之:ndarray多维数组操作 目录 简介 创建ndarray ndarray的属性 ndarray中元素的类型转换 ndarray的数学运算 index和切片 基本使用 index wit ...
- Java_继承
继承的格式 继承它描述的是两个类之间的关系,如果一个子类继承父类,那么子类可以使用父类非私有的成员. 1 public class 父类{ 2 //成员变量 3 //成员方法 4 } 5 6 publ ...
- CSS中margin负值巧布局
margin负值实现细边框 我们先准备五个div盒子,并设置好浮动和2px的实线黑色边框,看看效果 中间的边框线挨在了一起致使边框变粗成了4px,这时使用margin负值就可以解决这个问题 <s ...