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进行操作
  • 看个人使用时机
相关推荐
顾林海6 小时前
Android 性能优化:启动优化全解析
android·java·面试·性能优化·zygote
断剑重铸之日9 小时前
Flutter 滑动面板组件(修复版)
flutter·性能优化
顾林海14 小时前
Android深入解析 so 文件体积优化
android·面试·性能优化
勤奋的知更鸟15 小时前
JavaScript 性能优化实战:深入性能瓶颈,精炼优化技巧与最佳实践
开发语言·javascript·性能优化
mit6.82417 小时前
[Nagios Core] 事件调度 | 检查执行 | 插件与进程
c语言·开发语言·性能优化
Code季风20 小时前
深度优化 spring 性能:从缓存、延迟加载到并发控制的实战指南
java·spring boot·后端·spring·缓存·性能优化
张璐月1 天前
mysql的性能优化:组提交、数据页复用、全表扫描优化、刷脏页
数据库·mysql·性能优化
今天也在写bug2 天前
webpack中SplitChunks的分割策略
前端·webpack·性能优化·代码分割·splitchunks
诗和远方14939562327342 天前
电量监控方案设计
性能优化
香蕉可乐荷包蛋2 天前
vue防内存泄漏和性能优化浅解
前端·vue.js·性能优化