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进行操作
  • 看个人使用时机
相关推荐
CopyLower12 小时前
Java 性能优化:从原理到实践的全面指南
java·开发语言·性能优化
三翼鸟数字化技术团队15 小时前
Android应用内存分析与优化 - 理论篇
性能优化
学吧别真挂了16 小时前
拒绝卡顿!大学生也能掌握的前端性能优化实战手册
前端·性能优化
zayyo17 小时前
前端性能优化:图片懒加载全攻略
前端·面试·性能优化
码观天工18 小时前
解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
性能优化·c#·.net·内存管理·异步·.net 9
键盘敲没电18 小时前
【iOS】UITableView性能优化
ios·性能优化·ipad
小马爱打代码19 小时前
Spring JDBC 与数据访问:从性能优化到事务协同
spring·性能优化
martian66519 小时前
C++异步编程从入门到精通实战:全面指南与实战案例
开发语言·c++·性能优化
MPY_320 小时前
构建用户友好的记账体验 - LedgerX交互设计与性能优化实践
性能优化·交互
movee1 天前
高性能编程开发(一):HugePage
linux·后端·性能优化