引言
在前面的章节中,我们学会了如何使用ONNX Python API、Netron和ONNX Runtime来检查和验证一个ONNX模型。这些工具对于“诊断”模型至关重要。然而,在许多高级部署场景中,我们需要的不仅仅是诊断,而是“治疗”——即直接修改模型的计算图(Graph)。
ONNX GraphSurgeon (GS) 是TensorRT团队开发的一个Python库,它提供了简洁而强大的API,让我们能够像编辑普通数据结构一样,对ONNX图进行增、删、改、查等操作。掌握GraphSurgeon是高级TensorRT开发者的核心技能之一,它主要应用于以下三大场景:
-
图结构探索: 以编程方式遍历和理解复杂的网络拓扑。
-
前后处理融合: 将数据预处理(如归一化)和后处理(如NMS)的节点直接嵌入到ONNX图中,简化部署流程。
-
自定义算子替换: 为TensorRT插件(Plugin)做准备,将图中不被支持的算子或希望手动优化的子图替换为自定义节点。
本章将通过一系列循序渐进的、可执行的代码示例,带您从基础的图遍历,到复杂的节点替换,全面掌握GraphSurgeon的使用。
3.2.1 节点与张量的查找与操作
原理简介
GraphSurg
订阅专栏 解锁全文
1380

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



