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进行操作
  • 看个人使用时机
相关推荐
InCerry3 小时前
为 .NET 10 GC(DATAS)做准备
性能优化·c#·.net·gc
程序员小凯3 小时前
Spring Boot性能优化详解
spring boot·后端·性能优化
武子康5 小时前
AI-调查研究-104-具身智能 从模型训练到机器人部署:ONNX、TensorRT、Triton全流程推理优化详解
人工智能·gpt·ai·性能优化·机器人·tensorflow·具身智能
阿兰哥7 小时前
【调试篇5】TransactionTooLargeException 原理解析
android·性能优化·源码
桦说编程8 小时前
CompletableFuture 异常处理常见陷阱——非预期的同步异常
后端·性能优化·函数式编程
薄荷撞~可乐12 小时前
C#拆箱/装箱(性能优化)
性能优化·c#
冰 河17 小时前
《高性能SQL引擎》总结-高性能SQL引擎整体专栏总结
性能优化·程序员·高并发·架构师·高性能
bdawn1 天前
Vue3 项目首屏加载性能优化全攻略
性能优化·vue·策略·分包
clownAdam1 天前
Chrome性能优化秘籍
前端·chrome·性能优化
侑虎科技1 天前
iOS框架内存中占用很高的ttc文件是否正常
性能优化