onnx-modifier基于流行的模型可视化工具 Netron 和轻量级Web应用框架 flask 开发。希望它能给社区带来一些贡献
0、作用和功能
- 经常作为不同框架模型转化的中间文件,拿到ONNX文件,想将它进行一些修改
- 删除部分节点。 比如,ONNX文件中一些前后处理的算子节点,以方便后续部署。
- 修改节点输入输出名。 比如修改某一节点的输入输出名称,更改模型拓扑结构。
- 编辑节点属性值。
- 增加新节点。
1、准备
- 直接拉取源代码:git clone git@github.com:ZhangGe6/onnx-modifier.git
- 进入目录 cd onnx-modifier
- 安装依赖包 pip install onnx flask
- 运行 python app.py
- 点击输出中的url(如http://127.0.0.1:5000/)
2、界面介绍
删除节点
- Delete With Children 和 Delete Single Node.
修改节点的输入/输出名
- 通过修改节点的输出输出名,我们可以对模型拓扑结构进行修改(如删除一些预处理/后处理节点)。该功能同样可以用在更改模型的输出的名称(即修改模型叶子节点的输出名)。
-
编辑节点属性值
- 在节点侧边栏对应的属性值输入框中,键入新的属性值即可。
增加新节点
- 在selector中选择要添加的节点类型,在点击Add node按钮后,一个对应类型的新节点将自动出现在图上。
- 点击这个新节点,在弹出的侧边栏中进行节点的编辑
- 完工(点击Download即可获得编辑后的ONNX模型)。
3、注意tips
- 在当前版本中,是不支持添加含有参数的节点的(比如Conv, BatchNormalization)
- 为确保正确性,节点的各属性值建议全部填写(而不是留着undefined)
- 如果一个属性值是列表类型,则各元素之间使用‘,’分隔。
参考资料:https://blog.csdn.net/weixin_40561065/article/details/124554570?spm=1001.2014.3001.5502
参考资料: