YOLOv9训练教程,并解决部分报错问题,必看❗❗❗

🥑 Welcome to Aedream同学 's blog! 🥑


文章目录

    • 前言
    • 基本操作
    • YAML文件解析
    • 注意事项❗❗❗
      • 'gbk' codec can't decode byte 0x80 in position 238: illegal multibyte sequence
      • train.py, train_dual.py or train_triple.py
      • AttributeError: 'list' object has no attribute 'view'


✨✨✨✨立志真正解决大家问题,只写精品博客文章,感谢关注,共同进步✨✨✨✨


前言

YOLOv9提出后部分博主发布了训练教程,但真的质量堪忧,甚至train.py, train_dual.py or train_triple.py该使用哪个都不对,因此报错❗❗。

所以制作本期教程以供大家参考,如有错误欢迎指正交流🤝🤝

基本操作

代码链接:👿 https://github.com/WongKinYiu/yolov9

  1. 配置环境
  2. 下载代码
  3. 解压,如果训练models/detect/yolov9-c.yaml,配置train_dual.py。

在这里插入图片描述

YAML文件解析

部分人疑惑yolov9-c.yaml中的Silence是什么

根据models/common.py

class Silence(nn.Module):def __init__(self):super(Silence, self).__init__()def forward(self, x):    return x

Silence 就是无操作,输入x,输出还是x

主要是为了在后续调用原输入


注意事项❗❗❗

‘gbk’ codec can’t decode byte 0x80 in position 238: illegal multibyte sequence

检测数据集配置文件的yaml文件中是否存在中文或表情符号等,将其删除。


train.py, train_dual.py or train_triple.py

train.py tran_dual.py train_triple.py The relationship and difference between the three · Issue #1 · WongKinYiu/yolov9 (github.com)

在这里插入图片描述
提供作者的原回复做参考。

  1. train_dual:1 个辅助分支 + 1 个主分支。
  2. Triple_branch:两个辅助分支 + 一个主分支

我们提供这些代码来展示如何扩展辅助分支进行训练。 大家可以按照规则进行相关研究。 例如,我们还扩展了train_multiple来实现类似于Co-DETR的训练策略。

所以理论上可根据train_dual.py和 train_triple.py自己研究n个辅助分支 + 一个主分支如何训练。

AttributeError: ‘list’ object has no attribute ‘view’

使用train.py训练yolov9-c.yaml就会报错

AttributeError: ‘list’ object has no attribute ‘view’ · Issue #22 · WongKinYiu/yolov9 (github.com)

问题描述:

In loss_tal.py: pred_distri, pred_scores = torch.cat([xi.view(feats[0].shape[0], self.no, -1) for xi in feats], 2).split(  
(self.reg_max * 4, self.nc), 1)  
The error is as follows:  
AttributeError: 'list' object has no attribute 'view'

作者回复:

YOLOv9 models should be trained with train_dual.py

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/706228.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建Facebook直播网络对IP有要求吗?

在当今数字化时代,Facebook直播已经成为了一种极具吸引力的社交形式,为个人和企业提供了与观众直接互动的机会,成为推广产品、分享经验、建立品牌形象的重要途径。然而,对于许多人来说,搭建一个稳定、高质量的Facebook…

数字化转型与制造企业绿色创新质量——基于供需双侧机制的再检验(2011-2022年)

参照马红(2023)的做法,本团队对来自软科学《数字化转型与制造企业绿色创新质量—基于供需双侧机制的再检验》一文中的基准回归部分进行复刻 一、数据介绍 数据名称:数字化转型与制造企业绿色创新质量 参考期刊:《软…

主数据管理是数字化转型成功的基石——江淮汽车案例分享

汽车行业数字化转型的背景 在新冠疫情导火索的影响下,经济全球化政治基础逐渐动摇。作为全球最大的汽车市场,我国的汽车市场逐渐由增量转为存量市场。 在数字化改革大背景下,随着工业4.0时代的到来,江淮汽车集团力争实现十四五数…

【MATLAB】小波 MFE_SVM_LSTM 神经网络时序预测算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 小波MFE_SVM_LSTM神经网络时序预测算法是一种结合了小波变换、多尺度特征提取(MFE)、支持向量机(SVM)和长短期记忆神经网络(LST…

C#区域医院云LIS信息管理系统源码 标本管理、两癌筛查、数据分析、试剂管理

目录 ​编辑 区域医院云LIS系统功能亮点: 云LIS系统功能: 一、 基础管理 二、 前处理(实验室) 三、 标本处理 四、 样本检验 五、 统计报表 六、 质控管理 七、 基本工作流程 区域LIS系统特点&#xff1…

Shell函数

一、Shell函数 1、函数定义 函数定义的语法格式: function function_name() {statements[return int_value] }说明: function是 Shell 中的关键字,专门用来定义函数;function_name是函数名;statements是函数要执行…

如何使用程序通过OCR识别解析PDF中的表格

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.7/ppstructure/table/README_ch.md#41-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B Paddle-structure是目前我们能找到的可以做中英文版面分析较好的一个基础模型,其开源版可以识别十类页面元素。这篇文章介绍…

解决IDEA git 提交慢的问题

文章目录 前言解决IDEA git 提交慢的问题 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!! 解…

网络编程(JAVA)

前言:Java 是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。 Java 提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里&a…

Git 突破 文件尺寸限制

前言 当Git本地存储里右超过50MB,却又确实需要上传的时候,就需要用到了不是 解决 本代码就是把大文件进行拆解成小文件,然后上传。 等到拉取下来的时候,可以直接再进行合并,合并成原文件 代码如下,仅供…

AI赋能Oracle DBA:以自然语言与Oracle数据库互动

DBA AI助手:以自然语言与Oracle数据库互动 0. 引言1. AI赋能Oracle DBA的优势2. AI如何与Oracle数据库交互3. 自然语言查询的一些示例4. 未来展望 0. 引言 传统的Oracle数据库管理 (DBA) 依赖于人工操作,包括编写复杂的SQL语句、分析性能指标和解决各种…

分布式ID生成方案详解

✨✨ 祝屏幕前的您天天开心 ,每天都有好运相伴。我们一起加油!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一. UUID(Universally …

企业文件防泄密软件哪种软件比较好?——推荐@德人合科技 | 天锐绿盾终端数据安全防泄密管理系统!

德人合科技提供的天锐绿盾终端数据安全防泄密管理系统是一款比较好的企业文件防泄密软件。 ——首页———— www.drhchina.com—— 以下是一些关于该软件的优点: 强大的防泄密功能:该软件采用动态加解密技术,能够在文件创建、编辑存盘时自动…

代码随想录算法训练营day24

题目:77. 组合 参考链接:代码随想录 回溯法理论基础 回溯三部曲:回溯函数模板返回值以及参数、回溯函数终止条件、回溯搜索的遍历过程。 模板框架: void backtracking(参数) {if (终止条件) {存放结果;return;}for (选择&…

Redis7

摘录 https://github.com/Romantic-Lei/Learning-in-practice/blob/master/Redis/ 官网地址: 英文:Redis 中文:CRUG网站 redis中文文档 安装包:https://redis.io/download/,选择redis7.0版本即可 Redis在线测试地址(不用下载也…

等保测评与商用密码共铸工控安全“双评合规”新篇章

最近听说了一个段子:“网络安全就像美女的内衣,等保和密评就是最贴身的内衣两件套,上下身一件都不能少。否则你的魔鬼身材(核心数据)就有可能被色狼(黑客)一览无余(数据泄漏&#xf…

Ubuntu上Jenkins自动化部署Gitee上SpringBoot项目

文章目录 安装安装JDK安装Maven安装GitNodeJS安装(可选)安装Jenkins 配置Jenkins为Jenkins更换插件源设置jenkins时区安装插件全局工具配置添加Gitee凭证Gitee项目配置 部署后端1.新建任务2.配置源码管理3.构建触发器4.到Gitee中添加WebHook5.构建环境6.…

详解POCV/SOCV的时序报告

​POCV/SOCV的时序报告中有如下变量: Mean: 高斯分布中的μ值(平均值) Sensit: sensitivity,也就是1个Sigma的值; Corner: Sigma边界的最差值 cell的delay Delay mean N * Delay sigma; cell 的Transition Sl…

力扣 300. 最长递增子序列

题目来源:https://leetcode.cn/problems/longest-increasing-subsequence/description/ C题解1:动态规划 用两个循环,每到一个元素,就找它之前的最长递增子序列。 dp[i]表示第i个元素的最长递增子序列,里层遍历寻找之…

RubyMine 2023:让Ruby编程变得更简单 mac/win版

JetBrains RubyMine 2023是一款专为Ruby开发者打造的强大集成开发环境(IDE)。这款工具集成了许多先进的功能,旨在提高Ruby编程的效率和生产力。 RubyMine 2023软件获取 RubyMine 2023的智能代码编辑器提供了丰富的代码补全和提示功能&#…