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

Yolov5 ONNX导出报错: export failure: Unsupported ONNX opset version: 17

目录

 1.问题描述

1.1 报错1 :

1.2 报错 2 

 2.解决方案


介绍

ONNX(Open Neural Network Exchange)是一个用于机器学习模型的开放式标准,它旨在使不同的深度学习框架能够将训练好的模型在不同平台上无缝运行。它是由Microsoft和Facebook等公司联合开发的一个项目。 ONNX可以让你将训练好的模型从一个开发环境中导出,在另一个部署环境中无缝运行,也可以让你在不同的平台和设备之间共享模型,包括桌面设备、移动设备和云服务。 ONNX支持多种编程语言和深度学习框架,比如Azure ML、PyTorch、Keras、Caffe2、CNTK等,使得机器学习模型的开发和部署更加便捷和高效。

yolov5s.onnx是将YOLOv5模型导出为ONNX格式的文件,这意味着你可以使用ONNX运行时或将其集成到其他支持ONNX的深度学习框架中,如TensorFlow、PyTorch等。通过使用yolov5s.onnx,你可以将YOLOv5模型部署到各种平台和设备上,包括边缘设备、移动设备和云服务,实现目标检测的应用。

1.问题描述

 最近再用 Yolov5 ONNX 部署时遇到的问题,以前都是用的官网现成的,现在想自己训练的模型,结果模型训练好了,导出不停的失败。

一开始,我以为是我的v5代码版本问题,还换了不同的代码来试,结果也是报错。

1.1 报错1 :

1.2 报错 2 

ONNX: starting export with onnx 1.14.0...
ONNX: export failure  0.1s: Unsupported ONNX opset version: 17

               

最后检查发现是参数的版本问题

这是因为 onnx opset version 设置版本不对,修改版本即可:
在export.py 中的 def parse_opt()函数修改

def parse_opt():parser = argparse.ArgumentParser()parser.add_argument('--weights', type=str, default='./yolov5s.pt', help='weights path')parser.add_argument('--img-size', nargs='+', type=int, default=[640, 640], help='image (height, width)')parser.add_argument('--batch-size', type=int, default=1, help='batch size')parser.add_argument('--device', default='cpu', help='cuda device, i.e. 0 or 0,1,2,3 or cpu')parser.add_argument('--include', nargs='+', default=['torchscript', 'onnx', 'coreml'], help='include formats')parser.add_argument('--half', action='store_true', help='FP16 half-precision export')parser.add_argument('--inplace', action='store_true', help='set YOLOv5 Detect() inplace=True')parser.add_argument('--train', action='store_true', help='model.train() mode')parser.add_argument('--optimize', action='store_true', help='TorchScript: optimize for mobile')parser.add_argument('--dynamic', action='store_true', help='ONNX: dynamic axes')parser.add_argument('--simplify', action='store_true', help='ONNX: simplify model')parser.add_argument('--opset', type=int, default=13, help='ONNX: opset version')opt = parser.parse_args()return opt

---------------------------------------------------------------分割线-------------------------------------------------------  

 2.解决方案

修改如下箭头位置

修改参数

修改 default=12
parser.add_argument('--simplify', action='store_true', help='ONNX: simplify model')parser.add_argument('--opset', type=int, default=12, help='ONNX: opset version')

修改后既成功导出
ONNX: export success, saved as yolov5s.onnx (29.2 MB)


 

相关文章:

Yolov5 ONNX导出报错: export failure: Unsupported ONNX opset version: 17

目录 1.问题描述 1.1 报错1 : 1.2 报错 2 2.解决方案 介绍 ONNX(Open Neural Network Exchange)是一个用于机器学习模型的开放式标准,它旨在使不同的深度学习框架能够将训练好的模型在不同平台上无缝运行。它是由Microsoft和F…...

2023年全球市场儿科PICC导管总体规模、主要生产商、主要地区、产品和应用细分研究报告

内容摘要 按收入计,2022年全球儿科PICC导管收入大约 百万美元,预计2029年达到 百万美元,2023至2029期间,年复合增长率CAGR为 %。同时2022年全球儿科PICC导管销量大约 ,预计2029年将达到 。2022年中国市场规模大约为 百…...

Adler-32算法使用Neon优化

1、简单实现 下面代码是Adler-32算法的简单实现,我们来整理一下这段代码的逻辑: A = 1 + D1 + D2 + ... + Dn (mod 65521)B = (1 + D1) + (1 + D1 + D2) + ... + (1 + D1 + D2 + ... + Dn) (mod 65521)= nxD1 + (n-1) x D2 + (n-2) x D3 + ... + Dn + n (mod 65521)Adler-3…...

数据结构-----平衡二叉树

目录 前言 1.平衡二叉树 1.1概念与特点 1.2与二叉排序树比较 1.3判断平衡二叉树 2.平衡二叉树的构建 2.1平衡因子 BF 2.2 LL型失衡(右旋) 2.3 RR型失衡(左旋) 2.4 LR型失衡(先左旋再右旋) 2.5 RL…...

vue3 keepalive翻页保存页面状态

描述 实现页面 A-> B , B->A(A保存之前页面状态,不刷新页面) // router/index.tsimport { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vueconst router createRouter({h…...

测试工程师思维学习

一、测试工程师应具备什么思维? 透过现象看本质,拒绝“一叶障目” 01、质疑和系统思维 02、创新思维 03、全局思维 04、风险驱动和组合思维 05、用户为中心和比较思维 06、BT思维和架构扩展性思维 二、测试工程师应避免的思维 01、同化现象 02、定位效…...

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(六)

思维导图 一、正则表达式 1.1正则表达式介绍 1.2 语法 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewpor…...

云硬盘和物理硬盘的区别

服务器的硬盘是服务器用来存储数据&#xff0c;一般有云硬盘和物理硬盘两种。云硬盘是云计算平台的虚拟技术的存储服务&#xff0c;将数据存储于云端通过分布式存储架构的形式。物理硬盘是将数据存储在服务器或者是PC端上&#xff0c;存储空间比较大&#xff0c;读写速度也很快…...

数据分析--观察数据处理异常值

引包&#xff1a; import pandas as pd import numpy as np 读取文件&#xff1a; dfpd.read_csv(./HR.csv) 文件见绑定资源&#xff08;来自kaggle的HR.csv&#xff09; 处理过程&#xff1a; 一、从df中拿出处理对象 二、找出缺失值的位置并删除 s1_sdf[satisfactio…...

vue3+elementPlus el-input的type=“number“时去除右边的上下箭头

改成 代码如下 <script lang"ts" setup> import {ref} from vue const inputBtn ref() </script> <template><el-input type"number" v-model"inputBtn" style"width: 80px;" class"no_number">…...

华为云云耀云服务器L实例评测|Elasticsearch的可视化Kibana工具安装 IK分词器的安装和使用

前言 最近华为云云耀云服务器L实例上新&#xff0c;也搞了一台来玩&#xff0c;期间遇到各种问题&#xff0c;在解决问题的过程中学到不少和运维相关的知识。 本篇博客介绍Elasticsearch的可视化Kibana工具安装&#xff0c;以及IK分词器的安装和使用。 其他相关的Elasticsea…...

加密货币交易技巧——人和(一)

交易原则 ​ 本篇主要讲述加密货币交易人需要注意的几个原则。 1.不能贪心&#xff0c;具体表现在做好仓位管理。第一&#xff0c;不要重仓进去&#xff0c;一定要轻仓。第二&#xff0c;开仓就想好本次要赚多少钱&#xff0c;不要太贪&#xff0c;到了预期点就止盈。第三&am…...

数学建模:最优化问题及其求解概述

数学建模&#xff1a;最优化问题及其求解概述 最优化问题定义分类离散优化问题连续优化问题 求解 此博客围绕运筹学以及最优化理论的相关知识&#xff0c;通俗易懂地介绍了最优化问题的定义、分类以及求解算法。 最优化问题 定义 数学优化&#xff08;Mathematical Optimiza…...

企业办理CS资质,怎么选择办理等级?

信息系统建设和服务能力等级证书&#xff08;Information system construction and service—Capability assessment system&#xff0c;简称&#xff1a;CS&#xff09;&#xff0c;由中国电子信息行业联合会组织开展的第三方评估活动&#xff0c;是根据《信息系统建设和服务能…...

华为云云耀云服务器L实例评测|Huawei Cloud EulerOS 自动化环境部署

[toc] Huawei Cloud EulerOS 自动化环境部署 云耀云服务器L实例【Huawei Cloud EulerOS 2.0 64bit】 Python Git Google Chrome Chromedriver Selenium More… 1. Python 镜像创建后自带。 2.Git 拉取项目。 sudo yum install git3. Google Chrome 使用root权限或sudo权…...

从一张表格开始做挖机报价系统

一、前言 历时4个月的挖机销售报价系统进入收尾阶段&#xff0c;由我直接负责与业务方对接&#xff0c;这中间各种折腾真是一言难尽&#xff0c;项目开发过程中还要维护POS系统以及牛奶配送系统&#xff0c;本项目我们采用的是迭代开发&#xff0c;今天讲一下具体的开发过程以…...

Qt扫盲-QTreeView 理论总结

QTreeView 理论使用总结 一、概述二、快捷键绑定三、提高性能四、简单实例1. 设计与概念2. TreeItem类定义3. TreeItem类的实现4. TreeModel类定义5. TreeModel类实现6. 在模型中设置数据 一、概述 QTreeView实现了 model 中item的树形表示。这个类用于提供标准的层次列表&…...

BF算法详解(JAVA语言实现)

目录 BF算法的介绍 图解 JAVA语言实现 BF算法的时间复杂度 BF算法的介绍 BF算法&#xff0c;即暴力(Brute Force)算法&#xff0c;是普通的模式匹配算法&#xff0c;BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配&#xff0c;若相等&#xff0c;则继…...

零基础转行网络工程师,过来人给的一些建议

最近收到好多同学的一些提问&#xff0c;零基础没经验&#xff0c;能不能转行到网络工程师&#xff1f;薪资能有多少&#xff1f;发展前景怎么样&#xff1f; 应该有不少朋友都有这个疑问&#xff0c;那么&#xff0c;今天我尽量给大家做出一个详细的解答&#xff0c;希望能有…...

Vue中如何进行分布式搜索与全文搜索(如Elasticsearch)

在Vue中实现分布式搜索与全文搜索&#xff08;使用Elasticsearch&#xff09; 分布式搜索和全文搜索在现代应用程序中变得越来越重要&#xff0c;因为它们可以帮助用户快速查找和检索大量数据。Elasticsearch是一种强大的分布式搜索引擎&#xff0c;它可以用于实现高性能的全文…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?

论文网址&#xff1a;pdf 英文是纯手打的&#xff01;论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误&#xff0c;若有发现欢迎评论指正&#xff01;文章偏向于笔记&#xff0c;谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...