教程地址:
TensorRT 教程 | 基于 8.2.3 版本 | 第二部分
TenorRT 常用的五个开发辅助工具
本部分的问题:
1 trtexec
-
功能:几乎打包了所有TensorRT脚本的功能,并且拓展了丰富的推理测试功能
1.1 trtexec常用选项
-
构建阶段
第三行是DynamicShape模式需要使用的
-
运行阶段
性能测试:
2 Netron(网络结构可视化)
要解决的问题
3 onnx-graphsurgeon(修改网络)
需要手工修改网络的情形:
-
-
冗余节点
举例(
左图
):Conv Add ReLU 等节点之间存在很多Transpose和Squeeze以及Unsqueeze节点,会导致Conv Add ReLU 等节点不能很好的融合。
办法:改为中间的形式,把Transpose和Squeeze以及Unsqueeze节点移动到两端。从而使得算子进行融合,减少数据的拷贝。
举例(
右图
):是一个LayerNorm结构,但是在TensorRT中需要花费12个节点。
办法:手工模块化为一个plugin。
-
冗余节点
-
-
该计算图编辑工具的功能
-
该计算图编辑工具的功能
-
-
使用的例子
举例如下:
查看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模式
4.1.4 其它
5 性能调试工具 night systems
解决的问题:
功能:
5.1 举例
下面是各部分的TimeLine:
版权声明:本文为qq_22487889原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。