news 2026/4/15 22:48:12

YOLOv9官方仓库怎么用?GitHub README结合镜像实操

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLOv9官方仓库怎么用?GitHub README结合镜像实操

YOLOv9官方仓库怎么用?GitHub README结合镜像实操

1. 镜像环境说明

本镜像基于 YOLOv9 官方代码库构建,预装了完整的深度学习开发环境,集成了训练、推理及评估所需的所有依赖,开箱即用。适用于快速开展目标检测任务的科研与工程实践,避免繁琐的环境配置过程。

  • 核心框架: pytorch==1.10.0
  • CUDA版本: 12.1
  • Python版本: 3.8.5
  • 主要依赖: torchvision==0.11.0,torchaudio==0.10.0,cudatoolkit=11.3, numpy, opencv-python, pandas, matplotlib, tqdm, seaborn 等常用科学计算和视觉处理库
  • 代码位置:/root/yolov9(镜像中已克隆官方仓库并完成初始化)

该环境已在 GPU 实例上完成验证,支持单卡与多卡训练,兼容主流 YOLO 数据格式,可直接用于自定义数据集的迁移学习或从头训练。


2. 快速上手

2.1 激活环境

镜像启动后,默认进入 Conda 的base环境。为确保所有依赖正确加载,请先激活专用的yolov9虚拟环境:

conda activate yolov9

提示:若提示环境不存在,请检查镜像是否完整加载,或手动创建环境并安装 requirements.txt 中的依赖。

2.2 模型推理 (Inference)

进入 YOLOv9 项目根目录:

cd /root/yolov9

使用以下命令进行图像推理测试:

python detect_dual.py --source './data/images/horses.jpg' --img 640 --device 0 --weights './yolov9-s.pt' --name yolov9_s_640_detect
参数说明:
  • --source:输入源路径,支持图片、视频或摄像头设备编号
  • --img:推理时输入图像尺寸(默认 640×640)
  • --device:指定 GPU 设备编号(0 表示第一块 GPU)
  • --weights:模型权重文件路径
  • --name:结果保存子目录名称

推理结果将保存在runs/detect/yolov9_s_640_detect/目录下,包含标注框可视化图像及置信度信息。

扩展建议:可替换--source为本地视频路径(如./data/videos/test.mp4)以实现视频目标检测。

2.3 模型训练 (Training)

使用单卡训练 YOLOv9-small 模型的完整命令如下:

python train_dual.py \ --workers 8 \ --device 0 \ --batch 64 \ --data data.yaml \ --img 640 \ --cfg models/detect/yolov9-s.yaml \ --weights '' \ --name yolov9-s \ --hyp hyp.scratch-high.yaml \ --min-items 0 \ --epochs 20 \ --close-mosaic 15
关键参数解析:
  • --workers:数据加载线程数,根据 CPU 核心数调整
  • --batch:每批次样本数量,需根据显存大小调整(64 需 ≥24GB 显存)
  • --data:数据配置文件路径,定义类别数、训练/验证集路径等
  • --cfg:网络结构配置文件,决定模型规模(s/m/c/e/t)
  • --weights:预训练权重路径,空字符串表示从头训练
  • --hyp:超参数配置文件,控制学习率、数据增强强度等
  • --close-mosaic:在最后 N 个 epoch 关闭 Mosaic 增强,提升收敛稳定性

训练过程中,日志和权重会自动保存至runs/train/yolov9-s/目录,包含 loss 曲线、mAP 指标图、best.pt 和 last.pt 权重文件。

多卡训练提示:如需使用多 GPU 训练,可将--device改为0,1,2,3并适当增大 batch size。


3. 已包含权重文件

镜像内已预下载轻量级模型权重yolov9-s.pt,位于/root/yolov9根目录下,可直接用于推理或作为微调起点。

模型类型文件名参数量(约)推理速度(FPS @T4)
YOLOv9-syolov9-s.pt7.5M180

注意:其他更大模型(如 yolov9-c.pt、yolov9-e.pt)未内置,可通过官方 HuggingFace 或 Google Drive 链接自行下载,并放入对应目录。

推荐下载地址(来自官方 README):

  • YOLOv9-C
  • YOLOv9-E (GS)

4. 常见问题

4.1 数据集准备

YOLOv9 要求数据集遵循标准 YOLO 格式组织:

dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ └── data.yaml

其中data.yaml内容示例如下:

train: ./dataset/images/train val: ./dataset/images/val nc: 80 names: ['person', 'bicycle', 'car', ...]

请根据实际路径修改trainval字段,并确保标签文件.txt与图像一一对应。

4.2 环境激活失败

若执行conda activate yolov9报错:

Could not find conda environment: yolov9

请尝试以下修复步骤:

  1. 查看已有环境列表:

    conda env list
  2. 若显示yolov9存在但路径异常,可重新链接:

    conda activate /opt/conda/envs/yolov9
  3. 如环境丢失,可重建:

    conda create -n yolov9 python=3.8 -y conda activate yolov9 cd /root/yolov9 && pip install -r requirements.txt

4.3 显存不足(Out of Memory)

当出现 CUDA OOM 错误时,建议采取以下措施:

  • 降低--batch大小(如从 64 → 32 → 16)
  • 减小--img分辨率(如 640 → 320)
  • 使用更小模型(如yolov9-tiny替代yolov9-s
  • 启用梯度累积(添加--accumulate 2参数)

5. 参考资料

  • 官方仓库: WongKinYiu/yolov9
    包含最新代码更新、训练脚本、模型结构定义及高级功能(如 EMA、Dual Assigner、PGI 等)详解。

  • 文档说明: 详细用法请参考官方库中的README.md文件,涵盖:

    • 多种模型变体介绍(s/c/e/t)
    • 自定义数据集训练指南
    • ONNX 导出与部署方法
    • 性能 benchmark 对比表
  • 论文原文:

    • YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information

6. 引用

@article{wang2024yolov9, title={{YOLOv9}: Learning What You Want to Learn Using Programmable Gradient Information}, author={Wang, Chien-Yao and Liao, Hong-Yuan Mark}, journal={arXiv preprint arXiv:2402.13616}, year={2024} }
@article{chang2023yolor, title={{YOLOR}-Based Multi-Task Learning}, author={Chang, Hung-Shuo and Wang, Chien-Yao and Wang, Richard Robert and Chou, Gene and Liao, Hong-Yuan Mark}, journal={arXiv preprint arXiv:2309.16921}, year={2023} }

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/4 17:47:10

高可靠USB接口模块开发:从零实现路径

高可靠USB接口开发实战:从电路到固件的全栈设计你有没有遇到过这样的场景?设备插上电脑,系统提示“无法识别的USB设备”,或者用着用着突然断开连接,重启才恢复。更糟的是,在某些工控现场,环境干…

作者头像 李华
网站建设 2026/4/1 18:32:20

批量抠图不求人!这个WebUI工具让效率翻倍

批量抠图不求人!这个WebUI工具让效率翻倍 随着AI图像处理技术的普及,自动抠图已成为电商、设计、内容创作等领域的刚需。传统手动抠图依赖Photoshop等专业软件,耗时耗力且学习成本高;而基于深度学习的智能抠图模型(如…

作者头像 李华
网站建设 2026/4/10 17:33:21

如何快速实现暗黑2重制版多账号管理:完整技术方案解析

如何快速实现暗黑2重制版多账号管理:完整技术方案解析 【免费下载链接】D2RML Diablo 2 Resurrected Multilauncher 项目地址: https://gitcode.com/gh_mirrors/d2/D2RML 暗黑2重制版多账号管理一直是玩家面临的效率瓶颈,传统登录方式不仅耗时耗力…

作者头像 李华
网站建设 2026/4/12 17:47:46

Super Resolution国际化支持:多语言Web界面改造

Super Resolution国际化支持:多语言Web界面改造 1. 引言 1.1 业务场景描述 随着AI图像增强技术的广泛应用,用户群体逐渐从单一地区扩展至全球范围。Super Resolution作为一款基于深度学习的图像超分辨率工具,已成功集成OpenCV EDSR模型并提…

作者头像 李华
网站建设 2026/4/15 16:29:38

多表联动更新:MySQL触发器完整示例

多表联动更新:用MySQL触发器守护数据一致性你有没有遇到过这样的场景?用户下单成功,结果仓库说“没货了”;或者积分到账了,但账户余额没变。这些看似低级的错误,背后往往藏着一个核心问题——多表数据不同步…

作者头像 李华
网站建设 2026/4/7 15:49:08

Gradio界面如何集成?Sambert语音合成Web部署实战教程

Gradio界面如何集成?Sambert语音合成Web部署实战教程 1. 引言 1.1 Sambert 多情感中文语音合成——开箱即用版 在当前AI语音技术快速发展的背景下,高质量、低门槛的文本转语音(TTS)系统正成为智能客服、有声读物、虚拟主播等场…

作者头像 李华