笔记|初步了解TensorRT

(ubuntu 18.04 cuda 10.2 pytorch onnx→tensorrt) 使用tensorrt加载并运行onnx模型 2021.4 ubuntu 18.04 cuda 10.2 pytorch onnx→tensorrt使用tensorrt加载并运行onnx模型0. TensorRT介绍1. 安装tensorrt、pycuda1.1 安装tensorrt1.2 安装pycuda2. 将pytorch模型转化为onnx模型3. tensorrt调用onnx模型进行预测4. 注意事项 0. TensorRT介绍 https://docs.nvidia.com/deeplearning/tensorrt/developer-gu 阅读详情

1. 什么是TensorRT?

众所周知神经网络在CV等领域有着非常出众的表现,但是现实部署往往面临网络模型inference时间过大等问题,各类加速尤其是针对inference阶段的加速手段被提出。TensorRT是NVIDIA针对神经网络inference阶段提供的加速器。

2. TensorRT 做了哪些优化?

相对于训练过程,网络推断时模型结构及参数都已经固定,batchsize一般较小,对于精度的要求相较于训练过程也较低,这就给了很大的优化空间。具体到TensorRT,主要在一下几个方面进行了优化:

  1. 合并某些层
    有时制约计算速度的并不仅仅是计算量,而是网络对于内存的读写花费太大,TensorRT中将多个层的操作合并为同一个层,这样就可以一定程度的减少kernel launches和内存读写。例如conv和relu等操作一次做完。

另外,对于相同输入及相同filtersize的层会合并为同一层,利用preallocating buffers等消除了concat层

  1. 支持FP16 或者INT8的数据类型
    训练时由于梯度等对于计算精度要求较高,但是inference阶段可以利用精度较低的数据类型加速运算,降低模型的大小

  2. Kernel Auto-Tuning
    TensorRT针对不同的超参数有一写算法层面的优化,比如会根据卷积核的大小、输入大小等超参数确定使用哪种算法进行卷积运算

  3. Dynamic Tensor Memory
    TensorRT经过优化减少内存开销,提高内存的reuse

  4. 多支并行运算
    对于同一输入的多个分支可以进行并行运算

更多请细节就要浏览更专业的

TensorRT从入门到了解-学习笔记 用于高效实现已训练好的深度学习模型的推理过程的SDK内含推理优化器和运行时环境使DL模型能以更高吞吐量和更低的延时运行有C++ Python的API,完全等价可以混用===待续。 阅读详情

相关推荐

TensorRT使用笔记

一、简介 官网:https://docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/index.html NVIDIA TensorRT的核心是一个C ++库,可以促进NVIDIA图形处理单元(GPU)的高性能推断。TensorRT采用训练有素的网络,该网络由网络定义和一组训练有素的参数组成,并生成高度优化的运行时引擎,对该网络进行推理。...

Tosonw的博客 4001

Tensorflow(二十六) —— 模型加载与保存

Tensorflow(二十六) —— 模型加载与保存1. 训练测试模型2. save the weights3. 保存整个模型状态4. 工业环境布置 1. 训练测试模型 import tensorflow as tf from tensorflow.keras import Sequential,optimizers,layers,datasets # 训练测试模型 gpus = tf.config.experimental.list_physical_devices('GPU') tf.config.

Cyrus_May的博客 1041

tensorRT学习笔记

美团点评2017秋招笔试真题-后台开发&系统工程师B 共17题:对5道,错12道 错误: 1、下述解决死锁的方法中,属于死锁预防策略的是? 银行家算法:避免死锁 资源有序分配法:预防死锁 资源分配图化简法:检测死锁 撤销进程法:解决死锁 解析: 银行家算法:

疯狮子的博客 1万+

tensorRT简明使用

tensorrt主要用于优化模型推理速度,是硬件相关的。首先保存模型的.pth权重文件,然后将其转化为.wts文件。之后编写c++程序对.wts进行编译,生成.engine文件,通过.engine来进行tensorrt的推理。或者将网络结构保存为onnx格式,然后利用ONNX-TensorRT工具将onnx转换为tensorrt模型即可。...

络小绎 3529

从零到一,激活GPU的力量:使用TensorRT优化和执行深度学习模型,你的TensorRT入门指南

在本文中,我们深入探讨了TensorRT,NVIDIA提供的高性能深度学习推理(inference)优化器和运行时库。 我们通过一个实际的流程图,详细地展示了TensorRT推理过程的每一个步骤:从创建推理运行时和模型引擎,到读取输入数据和进行模型推理,再到生成和处理模型输出。每一个步骤都被仔细解析,并配有相关的API接口说明。 此外,我们还对如何使用TensorRT处理视频流进行了讨论,包括如何利用GPU内存进行数据预处理和模型推理。 期待这篇文章都能为你提供一个清晰、详尽的TensorRT使用指南。

weixin_43654363的博客 4586

Xavier中使用TensorRT的Python API对Pytorch模型进行FP16精度和INT8精度转换

FP16推理约6-8毫秒,总体帧率22帧 INT8推理4-6毫秒,总体帧率23帧 没有必要INT8,影响速度的瓶颈不在inference了,对加载图像和后面推理结果处理以及可视化等部分耗时优化收益更大

weixin_44742084的博客 4011

TensorRT详细入门指北,如果你还不了解TensorRT,过来看看吧

首发于TensorRT详细入门指北,如果你还不了解TensorRT,过来看看吧!,最新回复以及交流请看这里~ 前言 大名鼎鼎的TensorRT有多牛逼就不多说了,因为确实很好用。 作为在英伟达自家GPU上的推理库,这些年来一直被大力推广,更新也非常频繁,issue反馈也挺及时,社区的负责人员也很积极,简直不要太NICE。 只是TensorRT的入门门槛略微高一点点,劝退了一部分玩家。一部分原因是官方文档也不够详细(其实也挺细了,只不过看起来有些杂乱)、资料不够;另一部分可能是因为TensorRT比较底层,需

老潘的博客 4万+

Tensorrt学习笔记--Tensorrt的基本知识

Tensorrt支持三个Parser Caffe Parser This parser can be used to parse a Caffe network created in BVLC Caffe or NVCaffe 0.16. It also provides the ability to register a plugin factory for custom layers. UFF...

梦坠凡尘 4420

全方位了解TensorRT-LLM

减少90%显存访问,在H100上实现1.7倍加速分块并行策略:自动根据GPU架构选择最优分块,处理32k上下文无压力稀疏注意力:跳过不重要计算,长文本场景速度提升2x。

全世界的博客 2652

深入理解 TensorRT (1) TensorRT Python API 详解

文章目录0. 前言1. 基本概念1.1 Logger1.2 Builder1.3. Runtime1.4 ICudaEngine1.5 IExecutionContext2. 推理2.1 相关API详解2.2 实例3. ONNX 模型转换4. Dynamic Shape5. 插件 0. 前言 之前浏览过Python API并输出了笔记,但在实际使用过程中,上次的笔记没有任何卵用…… 所以,本文根据 API 提供的几个功能,分别介绍相关API以及实例,希望下次用到TensorRT的时候,可以直接在这里

清欢 1万+

TensorRTTensorRT学习笔记之IRuntime类

TensorRT中的一个关键接口,它表示一个已经过优化并准备好在CUDA环境中执行的深度学习模型。该类包含了执行推理所需的所有操作和参数,可以视为一个准备好的、优化过的模型

浩瀚之水的专栏 1738

TensorRT详细入门指北,如果你还不了解TensorRT,过来看看吧!

大名鼎鼎的。

张伟的专栏 1341

TensorRT学习笔记(一)——使用Python API调用TensorRT

前言 作为在英伟达自家GPU上的推理库,TensoRT仍然是使用英伟达显卡部署方案的最佳选择。TensorRT虽然支持Pytho和C++调用,但是在TensorRT8之前,python api只能在linux上使用,直到TensorRT8才支持python api在window下使用。 具体安装在官方文档都有说明,附上官方文档:TensorRT官方文档 安装 .........

weixin_41693877的博客 8341

CUDA与TensorRT部署实战课程:课程总结

CUDA与TensorRT部署实战课程:课程总结

周同学的博客 4022

TensorRT7 + Onnx_TensorRT 安装过程记录

TensorRT + Onnx_TensorRT 安装步骤 我个人是将TRT和Onnx_TensorRT安装在docker的container中, 因为云都是提供的docker环境, 实际使用起来跟一般没有区别 安装TensorRT 依照CUDA版本下载相对应的CUDNN 下载对应cuda版本的cudnn tar -xvzf cudnn-10.0-linux-x64-v7.6.5.32.t...

史蒂夫方 1万+

TensorRT C++ API模型加速TensorRT环境配置、模型转换、CUDA C++加速TensorRT C++ 加速

TensorRT(Tensor Runtime,TRT):由 NVIDIA 开发,专为 NVIDIA GPU 设计的,用于深度学习高性能推理的SDK (software development kit ,软件开发工具包),可为推理应用程序提供低延迟和高吞吐量。

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 2869

五. TensorRT API的基本使用-TensorRT-network-structure

五. TensorRT API的基本使用-TensorRT-network-structure

周同学的博客 1777

TensorRT的安装教程

本文介绍了在Windows和Ubuntu 20.04系统下安装TensorRT的方法,以及将.onnx文件转换为.engine文件的操作步骤。

m0_63327786的博客 8349
上一篇: 论文笔记| A Network Structure to Explicitly Reduce Confusion Errors in Semantic Segmentation
下一篇: 论文笔记 | Concept Mask:Large-scale Segmentation from semantic concepts
bea_tree
博客等级 码龄11年 450粉丝 119原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值