trex简介
trex在github上tensorrt的官方工程内部,作为tensorrt的实验性工具的一部分。
参考资料
github的网址:https://github.com/NVIDIA/TensorRT/tree/main/tools/experimental/trt-engine-explorer
nv开发者论坛:https://developer.nvidia.com/blog/exploring-tensorrt-engines-with-trex
yolov7的示例:https://github.com/NVIDIA-AI-IOT/yolo_deepstream/tree/main/yolov7_qat
trex的原理
trex的原理就是使用trtexec来生成graph.json和timing.json。
graph.json就包含了tensorrt生成的layer层信息,timing.json包含了每层的profile层耗时。
使用方法
方法1:参考trex的github中的示例
方法2:yolov7_qat中有一个脚本,可以生成engine绘图
绘图原理
绘图还是使用graphviz,布局使用dot,dot绘图是从上到下布局。
使用注意事项
trex官方提供了两种engine图的配色方法,一种是基于算子类型,一种是基于层精度,推荐使用层精度。
生成的SVG图像一般只能使用浏览器查看,不太方便,最好使用python代码将svg图像转换为pdf文件查看。