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进行操作
  • 看个人使用时机
相关推荐
稚辉君.MCA_P8_Java9 小时前
玻尔 SpringBoot性能优化
大数据·spring boot·后端·性能优化·kubernetes
沛沛老爹10 小时前
AI入门之GraphRAG企业级部署性能优化策略:从索引到检索的全链路提效实践
人工智能·ai·性能优化·rag·入门知识·graphrag·lightrag
00后程序员张13 小时前
iOS 性能优化的体系化方法论 从启动速度到渲染链路的多工具协同优化
android·ios·性能优化·小程序·uni-app·iphone·webview
Faith_xzc1 天前
Doris内存问题指南:监控、原理与高频OOM解决方案
大数据·性能优化·doris
weixin79893765432...1 天前
React 性能优化
react.js·性能优化
在逃的吗喽1 天前
性能优化方向
前端·性能优化
上海云盾第一敬业销售1 天前
高防CDN助力网络安全与性能优化
安全·web安全·性能优化
unclecss2 天前
JavaScript 性能优化实战:从 3 秒到 300 ms 的压缩与缓存之旅
前端·javascript·缓存·性能优化
奋斗的小高2 天前
MySQL:性能优化
数据库·mysql·性能优化
lingliang2 天前
解决高并发消息发送服务的性能优化实践
数据库·性能优化