1.简介
通过推理优化器(构建)和运行环境(运行)实现高效实现推理过程
更高吞吐量
更低延迟
C++/Python
构建期
模型解析/搭建
计算图优化
节点消除
精度
优选kernel / format
自定义plugin
显存优化
运行期
对象管理,内存管理,异常处理
序列化 / 反序列化
1.export

1.1 使用tensorrt API 搭建

1.2 使用parser

1.3 使用框架内 tensorrt 接口
某些框架的新版本已经把trt加入在子模块,比如tensorflow,pytorch,个人不用不太了解
1.4 注意事项

2.开发辅助工具

2.1 trtexec
工具转换
性能测试
2.2 Netron
网络结构可视化
2.3 onnx-graphsurgeon
功能:
修改计算图: 图属性,节点,张量,节点和张量的连接,权重
修改子图:添加,删除,替换,隔离
优化计算图:常量折叠,拓扑排序,去除无用层
目的:
手工修改网络
去除冗余节点
修改阻碍tensorrt融合的节点组
手工模块化节点组
2.4 polygraphy

2.5 Nsight Systems

3. plugin
3.1 plugin

3.2 使用


plugin不参与层融合
3.3 类型

3.4 结合使用parser 和 plugin

4. 高级话题
4.1 Dynamic shape 在min-max 跨度较大时性能下降

4.2 重叠计算和数据拷贝时间,增加GPU利用率

4.3 一个engine供多个线程使用

本文介绍了如何利用TensorRT 8.2.3进行模型优化,包括API搭建、parser应用、框架内集成、自定义plugin及高级技巧如动态shape、重叠计算等。开发辅助工具如trtexec、Netron和polygraphy被详细讲解,同时探讨了plugin使用、性能瓶颈和多线程共享engine。
747

被折叠的 条评论
为什么被折叠?



