利用onnxsim对onnx模型进行简化
百度大多推的是对固定维度的模型进行简化
这里记录一下,如何对动态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模型进行简化相关推荐
- 利用TensorRT实现神经网络提速(读取ONNX模型并运行)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站. 前言 这篇文章接着上一篇继续讲解如何具体使用TensorRT. 在之前已经写到过一篇去介绍什么是Te ...
- java调用onnx模型_开源一年多的模型交换格式ONNX,已经一统框架江湖了?
原标题:开源一年多的模型交换格式ONNX,已经一统框架江湖了? 机器之心原创 作者:思源 近日,微软亚洲研究院和华为举办了 ONNX 合作伙伴研讨会,这是 ONNX 开源社区成立以来首次在中国举办的活 ...
- darknet cpp weights模型转换成ONNX模型
整理不易,如果觉得有用,记得点赞收藏和分享哦 1. 下载转换需要的代码文件 在下面地址下载代码文件 https://gitee.com/liangjiaxi2019/pytorch-YOLOv4 2. ...
- matlab 仿真元件封装,利用M文件与封装模块简化Simulink仿真模型.pdf
第27卷 第10期 计算机工程 2001年10只 V(,{.27N010 ComputerEngineering October2001 立献标识码:" ·软件技术与数据库· 文童编号:10 ...
- 【yolov5】pytorch模型导出为onnx模型
博主想拿官网的yolov5训练好pt模型,然后转换成rknn模型,然后在瑞芯微开发板上调用模型检测.但是官网的版本对npu不友好,所以采用改进结构的版本: 将Focus层改成Conv层 将Swish激 ...
- 把onnx模型转TensorRT模型的trt模型报错:Your ONNX model has been generated with INT64 weights. while TensorRT
欢迎大家关注笔者,你的关注是我持续更博的最大动力 原创文章,转载告知,盗版必究 把onnx模型转TensorRT模型的trt模型报错:[TRT] onnx2trt_utils.cpp:198: You ...
- 使用Relay部署编译ONNX模型
使用Relay部署编译ONNX模型 本文介绍如何使用Relay部署ONNX模型的入门. 首先,必须安装ONNX软件包. 一个快速的解决方案是安装protobuf编译器,然后 pip install o ...
- 编译ONNX模型Compile ONNX Models
编译ONNX模型Compile ONNX Models 本文是一篇介绍如何使用Relay部署ONNX模型的说明. 首先,必须安装ONNX包. 一个快速的解决方案是安装protobuf编译器,然后 pi ...
- onnx模型部署(一) ONNXRuntime
通常我们在训练模型时可以使用很多不同的框架,比如有的同学喜欢用 Pytorch,有的同学喜欢使用 TensorFLow,也有的喜欢 MXNet,以及深度学习最开始流行的 Caffe等等,这样不同的训练 ...
最新文章
- 《Python基础知识全家桶》
- 如何让linux的history命令显示时间记录
- (读取,录入)语音处理
- Intel® Media Server Studio Support
- 浏览器的垃圾回收机制
- unef螺纹_小螺纹大学问,11种螺纹类型,你都使用过吗,了解它的使用方法吗
- php验证码--图片
- Android重点笔记,安卓listview 懒加载的实现笔记
- Linux C获取文件属性
- 强推!2019年最火的容器、K8S和DevOps入门都在这了
- [转载] Python3中的表达式运算符
- Ajax(一)——Ajax基础概念,HTTP头部(重点)
- 华硕Zenfone 6曝光:滑盖再度现身市场
- python做oa系统_浅谈python进行webapp,oa系统开发 (更新中) | 学步园
- 怎样让百度快速收录的新方法
- python turtle画熊猫人_Python 使用turtle插件,画小猪佩奇
- 字节序(Endian),大端(Big-Endian),小端(Little-Endian)
- 汇编语言实模式到保护模式的思考
- Ubuntu 16.04上安装Code::Blocks
- SHFileOperation 文件夹COPY
热门文章
- 哈哈哈哈,16 岁高中生开发「粤语编程」项目,在 GitHub 火了!
- 跟我StepByStep学FLEX教程------概述(原创)
- html5微信视频无法播放视频教程,解决微信h5页面视频播放问题实例
- 世界人工智能大会:互联网大佬透露了那些信息
- BI神器Power Query(9)-- PQ从XML文件导入数据
- Docker容器之间相互访问
- 科林明伦杯哈尔滨理工大学第六届程序设计团队赛(流水账)
- java时间日期获得0点0分0秒(本地时间(时区)),获取当天零点零分时间(本地时间(时区))
- 化工行业危化品实时监控/厂区监控解决方案:EasyGBS如何保障危化品安全生产?
- Elasticsearch的使用RestHighLevelClient