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

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

TenorRT 常用的五个开发辅助工具

在这里插入图片描述
本部分的问题:
在这里插入图片描述

1 trtexec

  • 功能:几乎打包了所有TensorRT脚本的功能,并且拓展了丰富的推理测试功能
    在这里插入图片描述

1.1 trtexec常用选项

  • 构建阶段
    在这里插入图片描述

第三行是DynamicShape模式需要使用的

  • 运行阶段
    在这里插入图片描述
    性能测试:
    在这里插入图片描述

2 Netron(网络结构可视化)

在这里插入图片描述

要解决的问题

在这里插入图片描述

3 onnx-graphsurgeon(修改网络)

在这里插入图片描述
需要手工修改网络的情形:

    1. 冗余节点
      举例(左图):Conv Add ReLU 等节点之间存在很多Transpose和Squeeze以及Unsqueeze节点,会导致Conv Add ReLU 等节点不能很好的融合。
      办法:改为中间的形式,把Transpose和Squeeze以及Unsqueeze节点移动到两端。从而使得算子进行融合,减少数据的拷贝。
      举例(右图):是一个LayerNorm结构,但是在TensorRT中需要花费12个节点。
      办法:手工模块化为一个plugin。
      ![在这里插入图片描述](https://img-blog.csdnimg.cn/31cf10c5a3144aed957645e84d13155c.png
    1. 该计算图编辑工具的功能
      在这里插入图片描述
    1. 使用的例子
      在这里插入图片描述
      举例如下:
      在这里插入图片描述
      在这里插入图片描述
      查看Add节点的上下游:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

4 深度学习模型的调试器 polygraphy

要解决的问题

在这里插入图片描述

功能

在这里插入图片描述

4.1 polygraphy 的主要模式

4.1.1 Run模式在这里插入图片描述

在这里插入图片描述

4.1.2 Inspect模式

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

4.1.3 surgeon模式

TensorFlow 示例:

4.1.4 其它

在这里插入图片描述

5 性能调试工具 night systems

解决的问题:
在这里插入图片描述
功能:
在这里插入图片描述

5.1 举例

在这里插入图片描述
在这里插入图片描述
下面是各部分的TimeLine:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_22487889/article/details/128677658