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进行操作
  • 看个人使用时机
相关推荐
添加shujuqudong1如果未回复44 分钟前
探索含光伏、火电与飞轮储能系统的奇妙调频之旅
性能优化
山楂树の2 小时前
ImageBitmap 将图像数据转换为GPU可用的纹理
性能优化·图形渲染·canva可画
拾忆,想起6 小时前
Dubbo服务调用幂等性深度解析:彻底解决重复请求的终极方案
微服务·性能优化·服务发现·dubbo
拾忆,想起6 小时前
Dubbo深度解析:从零到一,高性能RPC框架如何重塑微服务架构
网络协议·微服务·云原生·性能优化·rpc·架构·dubbo
听风吟丶6 小时前
Java HashMap 深度解析:从底层结构到性能优化实战
java·开发语言·性能优化
Light607 小时前
Signal 与现代前端框架的响应式机制
性能优化·前端框架·边缘计算·signal·细粒度响应·ai驱动界面
为码消得人憔悴1 天前
Android perfetto - Perfetto 新手入门指南
android·性能优化
郝学胜-神的一滴1 天前
深入理解OpenGL VBO:原理、封装与性能优化
c++·程序人生·性能优化·图形渲染
福大大架构师每日一题1 天前
ollama v0.13.2 最新更新详解:Qwen3-Next首发与性能优化
性能优化·ollama
爪洼守门员1 天前
前端性能优化
开发语言·前端·javascript·笔记·性能优化