百度大多推的是对固定维度的模型进行简化
这里记录一下,如何对动态batch的模型进行简化
模型简化的作用不再复述

一、简化固定维度的模型

import onnx
from onnxsim import simplifyONNX_MODEL_PATH = './model.onnx'
ONNX_SIM_MODEL_PATH = './model_simple.onnx'if __name__ == "__main__":onnx_model = onnx.load(ONNX_MODEL_PATH)onnx_sim_model, check = simplify(onnx_model)assert check, "Simplified ONNX model could not be validated"onnx.save(onnx_sim_model, ONNX_SIM_MODEL_PATH)print('ONNX file simplified!')

二、对动态batch的onnx模型进行简化

onnsim已经支持了动态batch模型的简化过程
一下两个参数可以设置动态batch模型

  • dynamic_input_shape
  • input_shapes
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
*  * *** *  * *  *
*  *  *   **  *  *
****  *   **  *  *
*  *  *   **  *  *
*  * **  *  * ****                @File    : simpleOnnx.py
@Date    : 2022/10/11/011
@Require :
@Author  : https://blog.csdn.net/hjxu2016
@Funtion : 简化动态batch的onnx模型"""import onnx
from onnxsim import simplifyONNX_MODEL_PATH = './model.onnx'
ONNX_SIM_MODEL_PATH = './model_simple.onnx'if __name__ == "__main__":onnx_model = onnx.load(ONNX_MODEL_PATH)onnx_sim_model, check = simplify(onnx_model, dynamic_input_shape=True,input_shapes={"images":[1, 3, 224, 224]}) # 0.4版本,需要把1改成-1assert check, "Simplified ONNX model could not be validated"onnx.save(onnx_sim_model, ONNX_SIM_MODEL_PATH)print('ONNX file simplified!')

参考文献

https://github.com/daquexian/onnx-simplifier/issues/117

利用onnxsim对onnx模型进行简化相关推荐

  1. 利用TensorRT实现神经网络提速(读取ONNX模型并运行)

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 前言 这篇文章接着上一篇继续讲解如何具体使用TensorRT. 在之前已经写到过一篇去介绍什么是Te ...

  2. java调用onnx模型_开源一年多的模型交换格式ONNX,已经一统框架江湖了?

    原标题:开源一年多的模型交换格式ONNX,已经一统框架江湖了? 机器之心原创 作者:思源 近日,微软亚洲研究院和华为举办了 ONNX 合作伙伴研讨会,这是 ONNX 开源社区成立以来首次在中国举办的活 ...

  3. darknet cpp weights模型转换成ONNX模型

    整理不易,如果觉得有用,记得点赞收藏和分享哦 1. 下载转换需要的代码文件 在下面地址下载代码文件 https://gitee.com/liangjiaxi2019/pytorch-YOLOv4 2. ...

  4. matlab 仿真元件封装,利用M文件与封装模块简化Simulink仿真模型.pdf

    第27卷 第10期 计算机工程 2001年10只 V(,{.27N010 ComputerEngineering October2001 立献标识码:" ·软件技术与数据库· 文童编号:10 ...

  5. 【yolov5】pytorch模型导出为onnx模型

    博主想拿官网的yolov5训练好pt模型,然后转换成rknn模型,然后在瑞芯微开发板上调用模型检测.但是官网的版本对npu不友好,所以采用改进结构的版本: 将Focus层改成Conv层 将Swish激 ...

  6. 把onnx模型转TensorRT模型的trt模型报错:Your ONNX model has been generated with INT64 weights. while TensorRT

    欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 把onnx模型转TensorRT模型的trt模型报错:[TRT] onnx2trt_utils.cpp:198: You ...

  7. 使用Relay部署编译ONNX模型

    使用Relay部署编译ONNX模型 本文介绍如何使用Relay部署ONNX模型的入门. 首先,必须安装ONNX软件包. 一个快速的解决方案是安装protobuf编译器,然后 pip install o ...

  8. 编译ONNX模型Compile ONNX Models

    编译ONNX模型Compile ONNX Models 本文是一篇介绍如何使用Relay部署ONNX模型的说明. 首先,必须安装ONNX包. 一个快速的解决方案是安装protobuf编译器,然后 pi ...

  9. onnx模型部署(一) ONNXRuntime

    通常我们在训练模型时可以使用很多不同的框架,比如有的同学喜欢用 Pytorch,有的同学喜欢使用 TensorFLow,也有的喜欢 MXNet,以及深度学习最开始流行的 Caffe等等,这样不同的训练 ...

最新文章

  1. 《Python基础知识全家桶》
  2. 如何让linux的history命令显示时间记录
  3. (读取,录入)语音处理
  4. Intel® Media Server Studio Support
  5. 浏览器的垃圾回收机制
  6. unef螺纹_小螺纹大学问,11种螺纹类型,你都使用过吗,了解它的使用方法吗
  7. php验证码--图片
  8. Android重点笔记,安卓listview 懒加载的实现笔记
  9. Linux C获取文件属性
  10. 强推!2019年最火的容器、K8S和DevOps入门都在这了
  11. [转载] Python3中的表达式运算符
  12. Ajax(一)——Ajax基础概念,HTTP头部(重点)
  13. 华硕Zenfone 6曝光:滑盖再度现身市场
  14. python做oa系统_浅谈python进行webapp,oa系统开发 (更新中) | 学步园
  15. 怎样让百度快速收录的新方法
  16. python turtle画熊猫人_Python 使用turtle插件,画小猪佩奇
  17. 字节序(Endian),大端(Big-Endian),小端(Little-Endian)
  18. 汇编语言实模式到保护模式的思考
  19. Ubuntu 16.04上安装Code::Blocks
  20. SHFileOperation 文件夹COPY

热门文章

  1. 哈哈哈哈,16 岁高中生开发「粤语编程」项目,在 GitHub 火了!
  2. 跟我StepByStep学FLEX教程------概述(原创)
  3. html5微信视频无法播放视频教程,解决微信h5页面视频播放问题实例
  4. 世界人工智能大会:互联网大佬透露了那些信息
  5. BI神器Power Query(9)-- PQ从XML文件导入数据
  6. Docker容器之间相互访问
  7. 科林明伦杯哈尔滨理工大学第六届程序设计团队赛(流水账)
  8. java时间日期获得0点0分0秒(本地时间(时区)),获取当天零点零分时间(本地时间(时区))
  9. 化工行业危化品实时监控/厂区监控解决方案:EasyGBS如何保障危化品安全生产?
  10. Elasticsearch的使用RestHighLevelClient