当前位置: 首页 > news >正文

4.2 onnx简化模型结构

前言

对已有的onnx结构,进行简化操作,onnx提供两种常规操作

方式一

假设为 model.onnx, 比较简单粗暴

# 简化
onnxsim model.onnx model_sim.onnx

方式二

稍微复杂点,代码有点多

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 argsif __name__ == "__main__":args = parse_args()simplify_model(args

总结

  • 两种本质上没用改变,都是通过调用onnxsim进行操作
  • 看个人使用时机
http://www.lryc.cn/news/228658.html

相关文章:

  • 通用的链栈实现(C++)
  • 物联网AI MicroPython学习之语法 bluetooth蓝牙
  • React中的key有什么作用?
  • 初认识vue,v-for,v-if,v-bind,v-model,v-html等指令
  • Java 算法篇-深入了解单链表的反转(实现:用 5 种方式来具体实现)
  • Android 10.0 系统内存优化之修改dalvik虚拟机的内存参数
  • Docker+K8s基础(重要知识点总结)
  • IDEA 关闭SpringBoot启动Logo/图标
  • 提供话费充值接口 话费快充慢充/API独立接口,商城/小程序/公众号合作
  • [N-133]基于springboot,vue小说网站
  • 计算机网络:概述
  • 服务号怎么升级订阅号
  • 11.读取文件长度-fseek和ftell函数的使用
  • 视觉大模型DINOv2:自我监督学习的新领域
  • Java事务详解
  • el-table实现展开当前行时收起上一行的功能
  • Go的优雅退出
  • 【KVM-6】KVM/QEMU软件栈
  • 硬件知识2
  • 【Java 进阶篇】JQuery DOM操作:通用属性操作的绝妙魔法
  • 在任何机器人上实施 ROS 导航堆栈的指南
  • Android 中注解的使用
  • 我国陆地遥感卫星发展现状与展望
  • arcgis基础篇--实验
  • 【chatglm3】(3):在AutoDL上,使用4090显卡,部署ChatGLM3API服务,并微调AdvertiseGen数据集,完成微调并测试成功!附视频演示。
  • python爬虫top250电影数据
  • STL简介+浅浅了解string——“C++”
  • wpf 和winform 的区别
  • 【Apifox】国产测试工具雄起
  • PNAS | 蛋白质结构预测屈服于机器学习