训练YOLOv9-S

本文详细介绍了YOLOv9-S网络结构的修改,包括参数调整、模型配置文件的更新,以及如何使用train_dual.py和val.py进行模型训练和验证。作者展示了从原始Yolov9到YOLOv9-S的具体步骤和关键参数的处理方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. YOLOv9-S网络结构

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

修改前调用的yolo.py测试的yolov9.yaml的打印网络情况,包含参数量、计算量
在这里插入图片描述
修改后调用的yolo.py测试的yolov9.yaml的打印网络情况,包含参数量、计算量
在这里插入图片描述

1.2 修改YOLOv9-s架构

  1. 在models/yolo.py文件中,Ctrl+F定位到args = [c1, c2, *args[1:]],然后再如下位置添加代码
    在这里插入图片描述
            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,然后做如下更改
            c2 = [int(x * gw) for x in args[0]]

在这里插入图片描述
3. 修改模型配置文件:直接拷贝models/detect/yolov9.yaml然后重命名为yolov9-S.yaml,并做以下更改
在这里插入图片描述

2. 开始训练

按照需求修改train_dual.py中的以下参数
在这里插入图片描述
需要注意的是,这里只能写成这样,因为官方只给了这一个超参数设置文件:
在这里插入图片描述
键入以下命令开始训练:

python train.py --name yolov9-S

在这里插入图片描述

3. 验证

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

在这里插入图片描述

3.2 命令验证

python val.py --name yolov9-S

在这里插入图片描述

下载 YOLOv9 的预训练权重 `yolov9s.pt` 文件可以通过多种方式实现,通常依赖于官方文档或社区资源。如果该模型尚未被广泛发布,则可能需要手动查找其存储位置或者通过类似的框架推导。 以下是具体方法: ### 方法一:使用 Dropbox 或 Google Drive 链接 如果有公开链接提供此文件,可以直接通过命令行工具如 `wget` 或 `curl` 进行下载。例如: ```bash !wget https://example.com/path/to/yolov9s.pt ``` 如果没有现成的 URL 提供,可以尝试访问 GitHub 上的相关项目页面或其他开源平台来获取文件地址[^1]。 ### 方法二:利用 PyTorch Hub 加载预训练模型 部分流行的深度学习库支持通过 PyTorch Hub 自动加载预训练权重。对于假设存在的 YOLOv9 模型来说,代码如下所示: ```python import torch # 尝试从PyTorch Hub加载指定版本的YOLOv9模型及其对应的预训练参数 model = torch.hub.load('ultralytics/yolov5', 'custom', path='yolov9s.pt') print(model) ``` 注意这里假定了存在一个名为 "yolov9s.pt" 的特定路径;实际操作前需确认目标仓库确实维护了此类资产[^2]。 ### 方法三:自定义构建并保存权值 当无法找到确切匹配项时,另一种解决方案是从头开始创建相似结构的新实例,并将其初始化后的状态字典另存为 .pt 格式的文件形式。下面展示了一个简化版示例: ```python from torchvision import models import torch # 创建基础网络架构(此处仅为示意) base_model = models.resnet18(pretrained=True) # 修改最后一层适应新分类数目的需求 num_ftrs = base_model.fc.in_features base_model.fc = torch.nn.Linear(num_ftrs, 10) # 假设最终类别数量为10 torch.save(base_model.state_dict(), './yolov9s_custom.pt') ``` 以上三种途径均有助于解决当前困境,但前提是确保所选方案符合预期功能要求以及数据合法性标准[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

heromps

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值