郴州市网站建设_网站建设公司_Node.js_seo优化
2026/1/17 1:14:05 网站建设 项目流程

YOLOv9结果保存路径:runs/detect输出目录说明

1. 镜像环境说明

  • 核心框架: 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

该镜像为YOLOv9官方训练与推理一体化环境,基于原始GitHub仓库构建,预配置了完整的深度学习工具链。用户无需手动安装PyTorch、CUDA驱动或OpenCV等复杂依赖,可直接进入模型训练、推理和评估流程。所有代码位于/root/yolov9目录下,结构清晰,便于快速调用。


2. 快速上手

2.1 激活环境

启动容器后,默认处于Conda的base环境,需先激活专用于YOLOv9的虚拟环境:

conda activate yolov9

此环境已集成所需版本的PyTorch与CUDA支持,确保模型运行时GPU可用性。


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:自定义结果保存子目录名称。
输出路径解析

推理完成后,检测结果将自动保存在如下路径中:

/root/yolov9/runs/detect/yolov9_s_640_detect/

该路径由三部分构成:

  1. runs/detect/:YOLO系列标准输出根目录;
  2. yolov9_s_640_detect:由--name参数指定的实验名称;
  3. 内部包含标注框绘制后的图像(如horses.jpg)、可视化统计图及标签文件(若启用保存标签)。

重要提示:每次运行detect_dual.py时,若--name相同,则结果会追加至同名目录;若不存在则新建。建议为不同实验设置唯一名称以便管理。


2.3 模型训练 (Training)

单卡训练命令示例如下:

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

关键参数解释

  • --data:数据集配置文件,需按YOLO格式组织并更新其中的路径字段。
  • --cfg:网络结构定义文件,对应不同规模的YOLOv9变体(如s/m/t等)。
  • --weights:初始化权重路径,空字符串表示从零开始训练。
  • --name:训练任务命名,决定日志与权重保存子目录名。
  • --epochs:总训练轮数。
  • --close-mosaic:在最后N个epoch关闭Mosaic增强策略,提升收敛稳定性。
训练输出路径

训练过程中生成的所有产物均存储于:

/root/yolov9/runs/train/yolov9-s/

其中包括:

  • weights/:保存最佳(best.pt)和最终(last.pt)模型权重;
  • results.png:各指标(mAP、precision、recall等)随训练过程的变化曲线;
  • labels/:类别分布直方图;
  • train_batch*.jpg:带增强效果的训练样本可视化;
  • opt.yaml:本次训练所用超参快照。

3. 已包含权重文件

镜像内已预下载轻量级模型权重yolov9-s.pt,存放于主目录:

/root/yolov9/yolov9-s.pt

该权重适用于快速开展推理测试或作为微调起点。对于其他变体(如yolov9-m.pt,yolov9-c.pt),可通过官方链接自行下载并放入相同目录。

推荐做法:将自定义训练所得权重定期备份至外部挂载卷,防止容器销毁导致数据丢失。


4. 常见问题

数据集准备

请确保你的数据集遵循标准YOLO格式:

  • 图像文件存放在images/目录;
  • 对应标签(.txt)存放在labels/目录;
  • 每个标签文件每行格式为:class_id center_x center_y width height(归一化坐标);
  • data.yaml中正确填写train,val,nc(类别数)和names(类别名列表)。

示例data.yaml片段:

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

环境激活失败

若执行conda activate yolov9报错,可能原因包括:

  • Conda未初始化:运行source ~/.bashrc或重启shell;
  • 环境未注册:检查/opt/conda/envs/下是否存在yolov9文件夹;
  • 权限不足:使用sudo权限或重建容器时赋予足够访问权限。

结果目录被覆盖?

当多次使用相同--name参数运行detect_dual.pytrain_dual.py时,新结果将写入已有目录。虽然不会删除旧文件,但同名输出文件会被覆盖(如horses.jpg)。

规避方案

  • 使用时间戳命名:--name yolov9_s_test_$(date +%m%d_%H%M)
  • 手动创建独立子目录,并修改输出逻辑(需调整脚本)

5. 参考资料

  • 官方仓库: WongKinYiu/yolov9
  • 文档说明: 详细用法请参考官方库中的 README.md 文件,涵盖多卡训练、ONNX导出、TensorRT部署等内容。
  • 推理脚本说明:detect_dual.py是YOLOv9特有的双分支检测入口,支持传统CNN与可编程梯度信息融合模式。

6. 引用

@article{wang2024yolov9, title={{YOLOv9}: Learning What You Want to Learn Using Programmable Gradient Information}, author={Wang, Chien-Yao and Liao, Hong-Yuan Mark}, booktitle={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星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询