文章目录
- 1. onnx graph surgeon 介绍
- 1.1 作用
- 1.2 onnx-surgeon vs onnx.helper
- 1.2.1 结构对比
- 1.2.2 使用的对比
- 1.3 graph surgeon的使用
- 1.3.1 创建onnx
- 1.3.2 导出子图
- 1.3.3 替换算子
- 2. 案例实战
- 2.1 案例1:onnx创建
- 2.2 案例2:onnx 创建
- 2.3 案例3:子图的提取
- 2.4 案例4:算子替换/融合
一般我们基本都是使用
onnx.helper
来创建onnx, 但是在TensorRT的工具包中它提供了一个更方便修改onnx的软件包:
onnx graph surgeon
。本文将重点介绍 onnx graph surgeon的使用以及它与onnx.helper在
创建和修改
onnx上的不同,以及如何将一个复杂的onnx分解为各个子图,然后去修改它的一些算子,这个工具包在onnx创建plugin的使用也会用到。
1. onnx graph surgeon 介绍
1.1 作用
onnx graph surgeon 是用来创建和修改onnx的工具:
- 更加方便的添加/修改onnx节点
- 更加方便的修改子图
- 更加方便的替换算子
- 底层使用的是onnx.helper, 在onnx.helper的基础上进行了封装
安装
pip install onnx_graphsurgeon
(1) 修改onnx- 合并算子