4.2 onnx简化模型结构

前言

对已有的onnx结构,进行简化操作,onnx提供两种常规操作

方式一

假设为 model.onnx, 比较简单粗暴

复制代码
# 简化
onnxsim model.onnx model_sim.onnx

方式二

稍微复杂点,代码有点多

cpp 复制代码
import onnx
import argparse
from onnxsim import simplify

# Simplify
def simplify_model(args):
    onnx_model = onnx.load(args.origin_model)
    model_simp, check = simplify(onnx_model)
    model_simp = onnx.shape_inference.infer_shapes(model_simp)
    onnx.save(model_simp, args.output_model)
    print("  Simplify onnx Done.")

# 检查onnx计算图
def checknet(model_path):
    model = onnx.load(model_path)
    onnx.checker.check_model(model)  
    # Print a human readable representation of the graph
    # print(onnx.helper.printable_graph(model.graph))
    
def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument("--origin_model", type=str)
    parser.add_argument("--output_model", type=str)
    args = parser.parse_args()
    return args

if __name__ == "__main__":
    args = parse_args()
    simplify_model(args

总结

  • 两种本质上没用改变,都是通过调用onnxsim进行操作
  • 看个人使用时机
相关推荐
TPBoreas1 小时前
MySQL性能优化面试全攻略
mysql·面试·性能优化
一孤程8 小时前
PerfDog性能测试实战——从入门到性能优化全覆盖
性能优化·性能测试·测试·perfdog
谙忆102413 小时前
图片懒加载实战:IntersectionObserver、LQIP 占位与 CLS 布局防抖
性能优化
丁小未1 天前
基于MVVM框架的XUUI HelloWorld 新手教程
unity·性能优化·c#·游戏引擎
飞天狗1 天前
长列表滚动卡顿怎么破:虚拟列表选型 + react-virtuoso 实战调优指南
react.js·性能优化
zhangjw341 天前
第29篇:Java伪共享与对象分配:并发性能优化的关键
java·开发语言·性能优化
SelectDB2 天前
美团数十 PB 规模 Apache Doris 实践:从统一 OLAP 到 AI-Native 数据基座
大数据·数据库·性能优化
Patrick_Wilson2 天前
最佳实践是有保质期的:从一次 CDN external 白屏事故说起
前端·性能优化·前端工程化
侑虎科技2 天前
解决URP角色渲染短板,自研IllusionRP管线落地移动端
性能优化
紫霖ty2 天前
Session处理性能过慢的问题排查与优化
性能优化