训练YOLOv9-S(注意:官方还没有提供YOLOv9-S的网络,我这是根据网络博客进行的步骤,按照0.33、0.50比例调整网络大小,参数量15.60M,计算量67.7GFLOPs)

这篇具有很好参考价值的文章主要介绍了训练YOLOv9-S(注意:官方还没有提供YOLOv9-S的网络,我这是根据网络博客进行的步骤,按照0.33、0.50比例调整网络大小,参数量15.60M,计算量67.7GFLOPs)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、自己动手制造一个YOLOv9-S网络结构

  • 重点参考的链接:YOLOv9改进 | 提供YOLOv9全系列支持YOLOv9n、YOLOv9s、V9m、V9l、V9x的修改方式(全网独家首发)

1.1 改前改后的网络结构(参数量、计算量)对比

改前的yolov9.yaml参数量58.35M,计算量267.1GFLOPs

改后的yolov9-S.yaml参数量15.60M,计算量67.7GFLOPs

  • 这是修改调用的yolo.py测试的yolov9.yaml的打印网络情况,包含参数量、计算量

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

  • 这是修改调用的yolo.py测试的yolov9-S-lwd.yaml的打印网络情况,包含参数量、计算量

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

1.2 一些发现,YOLOv9代码打印的参数量计算量和Github上提供的并不一致,甚至yolov9-c.yaml代码打印出来是Github的两倍

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

1.3 开始创造YOLOv9-S

  1. models/yolo.py文件中,Ctrl+F定位到args = [c1, c2, *args[1:]],然后再如下位置添加代码

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

            # --------------------------添加的代码--------------------------- #
            if m in (RepNCSPELAN4,):
                args[1] = make_divisible(args[1] * gw, 8)
                args[2] = make_divisible(args[2] * gw, 8)
                args[3] = max(round(args[3] * gd), 1) if n > 1 else n       
            # --------------------------添加的代码--------------------------- #
  1. 还是在models/yolo.py中,定位到elif m is CBLinear,然后做如下更改

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

            c2 = [int(x * gw) for x in args[0]]
  1. 修改模型配置文件:直接拷贝models/detect/yolov9.yaml然后重命名为yolov9-S.yaml,并做以下更改

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

2、开始训练

根据需求修改train.py中的以下参数:

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

需要注意的是,这里只能写成这样,因为官方只给了这一个超参数设置文件:

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

键入以下命令开始训练:

python train.py --name yolov9-S

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

报错了

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

⭐然后就根据这个博客yolov9训练自己的数据集+验证+报错修改里面参考的YOLOV9保姆级教程,在utils/loss_tal.py中进行了如下修改:

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

Okay!开始训练,坐等结果~

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

保姆级的大佬真的好啊,给我的回答很详细,贴上来!

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

3、验证

3.1 修改val.py中的以下参数

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

另外为了多显示几位精度,在val.py中进行如下更改:

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

3.2 命令验证

python val.py --name yolov9-S

报错:AttributeError: 'list' object has no attribute 'device'

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

解决方案:

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO

验证结果:

yolov9s,yolov5实战学习中(些微改动代码),深度学习项目经验tips,YOLO文章来源地址https://www.toymoban.com/news/detail-843675.html

到了这里,关于训练YOLOv9-S(注意:官方还没有提供YOLOv9-S的网络,我这是根据网络博客进行的步骤,按照0.33、0.50比例调整网络大小,参数量15.60M,计算量67.7GFLOPs)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YOLOv9最新改进系列:YOLOv9云服务器环境搭建-包百分百跑通!

    YOLOv9原文链接戳这里,原文全文翻译请关注B站Ai学术叫叫首er B站全文戳这里! v8 v9 详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先! v8 v9 详细的改进教程以及源码,戳这!戳这!!

    2024年04月10日
    浏览(41)
  • 【计算机视觉】YOLOv9:物体检测技术的飞跃发展

    YOLOv9 引入了可编程梯度信息 (PGI) 和广义高效层聚合网络 (GELAN) 等开创性技术,标志着实时目标检测领域的重大进步。该模型在效率、准确性和适应性方面都有显著提高,在 MS COCO 数据集上树立了新的标杆。YOLOv9 项目虽然是由一个独立的开源团队开发的,但它建立在以下机构

    2024年04月17日
    浏览(40)
  • [C++]使用纯opencv去部署yolov9的onnx模型

    【介绍】 部署 YOLOv9 ONNX 模型在 OpenCV 的 C++ 环境中涉及一系列步骤。以下是一个简化的部署方案概述,以及相关的文案。 部署方案概述: 模型准备 :首先,你需要确保你有 YOLOv9 的 ONNX 模型文件。这个文件包含了模型的结构和权重。 环境配置 :安装 OpenCV 库,并确保它支持

    2024年03月13日
    浏览(65)
  • 【人工智能概论】 使用kaggle提供的GPU训练神经网络

    注册账号的时候可能会遇到无法进行人际验证的问题,因此可能需要科学上网一下。具体步骤略。 kaggle的GPU资源需要绑定手机号才能使用 点击右上角的头像。 点击Account 找到手机验证界面Phone Verification,会看到下图,根据1处的提示知,这种情况下手机是收不到验证码的,因

    2024年02月04日
    浏览(50)
  • YOLOv8最新改进系列:融合最新的YOLOv9算法中的SPPELAN,助力小目标检测再上新点!!!

    YOLOv9原文链接戳这里,原文全文翻译请关注B站Ai学术叫叫首er B站全文戳这里! 详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先! 截止到发稿时,B站YOLOv8最新改进系列的源码包,已

    2024年03月23日
    浏览(63)
  • opencv dnn模块 示例(25) 目标检测 object_detection 之 yolov9

    YOLOv9 是 YOLOv7 研究团队推出的最新目标检测网络,它是 YOLO(You Only Look Once)系列的最新迭代。YOLOv9 在设计上旨在解决深度学习中信息瓶颈问题,并提高模型在不同任务上的准确性和参数效率。 Programmable Gradient Information (PGI) :YOLOv9 引入了可编程梯度信息(PGI)的概念,这是

    2024年04月29日
    浏览(42)
  • YOLOv5网络结构,训练策略详解

    前面已经讲过了Yolov5模型目标检测和分类模型训练流程,这一篇讲解一下yolov5模型结构,数据增强,以及训练策略。 官方地址 :https://github.com/ultralytics/yolov5 yolov5模型训练流程 :https://blog.csdn.net/qq_45066628/article/details/129470290?spm=1001.2014.3001.5501 Yolov5 (v6.2) 使用自己的数据训练分类

    2023年04月18日
    浏览(51)
  • 【目标检测】yolov5改进系列:主干网络中添加SE注意力机制网络

    写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 CNN网络中,图像或者说特征图Feature Map的特征主要分为空间特征(Spatial)和通道(Channel)特征。对于空间

    2023年04月16日
    浏览(45)
  • OpenCV与AI深度学习 | 实战 | 基于YOLOv9和OpenCV实现车辆跟踪计数(步骤 + 源码)

    本文来源公众号“ OpenCV与AI深度学习 ”,仅用于学术分享,侵权删,干货满满。 原文链接:实战 | 基于YOLOv9和OpenCV实现车辆跟踪计数(步骤 + 源码)     本文主要介绍使用YOLOv9和OpenCV实现车辆跟踪计数(步骤 + 源码)。      监控摄像头可以有效地用于各种场景下的车辆

    2024年04月15日
    浏览(52)
  • OpenCV与AI深度学习 | 实战 | 基于YOLOv9+SAM实现动态目标检测和分割(步骤 + 代码)

    本文来源公众号 “OpenCV与AI深度学习” ,仅用于学术分享,侵权删,干货满满。 原文链接:实战 | 基于YOLOv9+SAM实现动态目标检测和分割(步骤 + 代码)     本文主要介绍基于YOLOv9+SAM实现动态目标检测和分割,并给出详细步骤和代码。     在本文中,我们使用YOLOv9+SAM在

    2024年04月22日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包