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进行操作
  • 看个人使用时机
相关推荐
Jerry说前后端10 小时前
RecyclerView 性能优化:从原理到实践的深度优化方案
android·前端·性能优化
代码的余温17 小时前
MySQL性能优化:10个关键参数调整指南
数据库·mysql·性能优化
小遁哥18 小时前
也是用上webworker了
react.js·性能优化
张柏慈19 小时前
JavaScript性能优化30招
开发语言·javascript·性能优化
Apple_羊先森21 小时前
Oracle数据库操作深入研究:备份、数据删除与性能优化
数据库·oracle·性能优化
ayaya_mana1 天前
Nginx性能优化与安全配置:打造高性能Web服务器
运维·nginx·安全·性能优化
张永清-老清2 天前
《JMeter核心技术、性能测试与性能分析》 教学大纲及标准
jmeter·性能优化
石小石Orz2 天前
性能提升60%:前端性能优化终极指南
前端·性能优化
归辞...2 天前
「iOS」————UITableView性能优化
ios·性能优化·cocoa
盛夏绽放3 天前
Vue项目生产环境性能优化实战指南
前端·vue.js·性能优化