【YOLOv9】训练模型权重 YOLOv9.pt 重新参数化轻量转为 YOLOv9-converted.pt


Code 链接: YOLOV9
Paper 链接: YOLOV9: Learning What You Want to Learn Using Programmable Gradient Information

1. 模型权重准备

2. 模型重新参数化

2.1 文件准备

  • 找到官方代码目录 tools 内的 reparameterization.ipynb 文件,并将该文件放到主目录下。
    在这里插入图片描述

2.2 参数修改

  • 选择训练权重版本对应的 gelan.yaml 文件,如这里需修改 gelan-c.yaml 文件,并将 nc 修改为模型训练时的标签数量。
    在这里插入图片描述

2.3 重新参数化过程

  • 进入 reparameterization.ipynb 文件,选择对应转换版本的代码块(目前作者提供了 ce 版本模型转换),进行如下修改:
    • 修改 cfg 为版本对应的 gelan.yaml 文件路径
    • 修改 nc 为标签数量
    • 修改 ckpt 为训练好的模型权重文件路径
  • 修改后运行出现下述界面即可。
    在这里插入图片描述
  • 继续运行文件中的代码块,运行完成后继续。
    在这里插入图片描述
  • 修改下述代码块中的权重文件保存路径并运行。
    在这里插入图片描述
  • 完成后即可在指定保存路径下找到重新参数化后的权重文件,可以看到文件大小为50M,相比减少了48M。
    在这里插入图片描述

3. 重新参数化后模型推理

3.1 推理超参数配置

  • yolov9 代码路径下进入 detect.py 文件进行超参数配置,常用需修改参数如下:
    • data:数据配置文件路径
    • weights:重新参数化后的的 yolov9-converted.pt 权重路径
    • batch-size:验证 batch-size 数量
    • imgsz:图片大小
    • task:验证数据集选择,如 valtest
  • 推理按需进行超参数配置
    在这里插入图片描述

3.2 模型推理及对比

  • 单卡推理指令
    python detect.py
    
  • 多卡推理指令
    python -m torch.distributed.launch --nproc_per_node 8 detect.py
    
  • 在终端中运行推理命令,若看到下述界面,即成功推理!!!
    在这里插入图片描述
  • 可进入保存路径进行推理图片查看,使用权重 yolov9-smoke-converted.pt 推理示例如下:
    在这里插入图片描述
  • 此外,使用 yolov9-smoke.pt 推理的同一图片示例如下:
    在这里插入图片描述
  • 可以看出,模型重新参数化后使用模型主分支,性能不受影响,但参数量减少近一半!!!

4. onnx 模型导出(补充内容)

4.1 超参数配置

  • yolov9 代码路径下进入 export.py 文件进行超参数配置,常用需修改参数如下:
    • weights:重新参数化后的的 yolov9-converted.pt 权重路径
    • include:导出类型选择,如 onnx
  • 超参数配置如下:
    在这里插入图片描述

4.2 模型导出

  • 模型导出指令
    python export.py
    
  • 在终端中运行推理命令,若看到下述界面,即成功导出!!!
    在这里插入图片描述

4.3 onnx 推理

  • 按照 3.1 推理超参数配置 进行超参数配置,唯一不同的是需将 weights 替换为导出的 onnx 路径。
  • 推理指令
    python detect.py
    
  • 在终端中运行推理命令,若看到下述界面,即成功推理!!!
    在这里插入图片描述
  • 可进入保存路径进行推理图片查看,使用 onnx 推理示例如下:
    在这里插入图片描述
  • 25
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值