(官方教程笔记)TensorRT 教程 | 基于 8.2.3 版本 | 第一部分

教程地址:TensorRT 教程 | 基于 8.2.3 版本 | 第一部分

1 TenorRT 简介

1.1 各种官方文档

在这里插入图片描述

链接
(TensorRT 文档)
(C++ API 文档)
(python API文档)
(TensorRT下载)
(本教程配套代码,以及教程外的更多样例)

1.2 TensorRT 做的工作

在这里插入图片描述
TensorRT的表现:
在这里插入图片描述

1.3 TensorRT 基本的流程

在这里插入图片描述

1.4 TensorRT三种的WorkFlow

在这里插入图片描述
推荐使用Parser。

2(上) 使用TensorRT API (构建期)

API 搭建的基本流程及示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
黄色部分是API搭建的特殊步骤,其它的是三种方法都会用到的环节。

Builder :模型搭建的入口,网络的TensorRT表示和可执行程序引擎,都是由该对象的成员方法生成。
BuilderConfig :辅助设置模型的一些参数,比如是否开启fp16模式,int8模式等。
NetWork:网络的主体,在另外两种WorkFlow中,会直接使用Parser来加载。
SerializedNetwork:可以用来生成可执行的推理引擎,或者将其序列化保存为文件,方便使用。

Engine:推理引擎,模型计算的核心,可以理解为可执行程序的代码段。
Context:用于计算的CPU上下文,可以类比CPU上进程的概念,是执行推理引擎的主体。
Buffer:数据的内存和显存相关,需要把数据从CPU端搬到GPU端,执行推理计算之后再从GPU端搬回CUU端。这些步骤涉及内存的申请,拷贝和释放,需要借助CUDA库或者CUDA-Python库来完成。
Execute:调用计算核心执行计算的具体过程。

2.1 Logger日志记录器

在这里插入图片描述

在一次会话中,多个Builder可以共享同一个Logger。

2.2 Builder 引擎构建器在这里插入图片描述

原本在Builer中设置属性的操作,统一转入BuilderConfig中。

2.3 BuilderConfig 网络属性选项

在这里插入图片描述

2.4 NetWork 网络具体构造

在这里插入图片描述

使用Parser导入onnx模型的时候,NetWork会自动填好。
可以在构建期,通过NetWork来设置和构建网络的信息。比如网络层数,每层的名称和属性,每层的输入输出张量的名称和属性。

补充

    1. 张量的 Batch维度 显 / 隐 式的包含在张量的形状中
      在这里插入图片描述
  • 2 . 一些模式
    在这里插入图片描述
    1. 向NetWork中添加Layer的方法(NetWork特有)
      在这里插入图片描述
    1. NetWork中打印所有层和张量的信息
      在这里插入图片描述
    1. NetWork的核心部分
      在这里插入图片描述
    1. NetWork的Layer支持
      在这里插入图片描述

2.5 TensorRT支持的两种低精度模式

在这里插入图片描述
PTQ不需要对训练过程进行改动,QAT需要在训练的时候对模型进行加工。
在这里插入图片描述

2(下) 使用TensorRT API (运行期)

在这里插入图片描述

2.6 生成Engine

在这里插入图片描述

Engine相当于网络计算的可执行程序,该对象还提供了很多有用的成员和方法。

补充 :Binding

在这里插入图片描述

2.7 Context推理进程

在这里插入图片描述

问题:用于推理计算的输入输出设备怎么准备

  • 了解:CUDA异构计算
    在这里插入图片描述

2.8 准备Buffer

![在这里插入图片描述](https://img-blog.csdnimg.cn/40f69f0fb4a04b63857015d0b7ff6535.png

问题:如何构建一次引擎,反复使用

需要环境统一(硬件环境+CUDA+cuDNN+TensorRT)
在这里插入图片描述

3 使用Parser

  • ONNX 和 ONNX Runtime
    在这里插入图片描述
    在这里插入图片描述
    PyTorch 示例:
    在这里插入图片描述
    TensorFlow 示例:
    在这里插入图片描述

4 使用原训练框架内的TensorRT接口

在这里插入图片描述

补充: TensorRT开发环境

在这里插入图片描述

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值