1. YOLOv5项目结构全景解析
刚接触YOLOv5时,我第一反应就是"这目录也太乱了"——根目录下二十多个文件和文件夹,新手根本无从下手。直到后来自己踩过无数坑才明白,这套看似复杂的结构其实是经过精心设计的工程化布局。理解每个文件夹的职责边界,能帮你避开90%的路径配置错误和版本冲突问题。
YOLOv5的目录结构可以分为五个核心模块:
- 环境配置与安装文件
- 核心执行脚本
- 数据管理区
- 模型定义与权重
- 训练产出物
这种模块化设计让项目维护变得清晰,但前提是你得知道游戏规则。比如data/目录下的images和labels必须严格配对,models/目录下的yaml文件要和weights版本匹配,runs/目录会自动按日期组织实验记录——这些都是新手最容易翻车的地方。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 根目录关键文件详解
2.1 环境配置文件
requirements.txt和setup.py这对搭档决定了项目的运行基础。这里有个血泪教训:去年我在客户现场调试时,随手pip install -U torch装了最新版PyTorch,结果训练时出现诡异的CUDA内存错误。后来发现是PyTorch 1.12.0与项目要求的opencv-python==4.5.4.60存在兼容性问题。
正确的做法是:
bash复制# 安装指定版本(以v6.1为例)
pip install -r requirements.txt # 不要加--upgrade
pip install torch==1.10.0+cu113 torchvision==0.11.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html
重要提示:YOLOv5每个大版本对依赖库的要求不同,建议在GitHub Releases页面查看对应版本的requirements.txt
2.2 核心执行脚本
train.py、val.py、detect.py这三个脚本是项目入口,但90%的新手都在这里用错了参数组合:
bash复制# 典型错误示例(缺少关键参数)
python train.py --data coco128.yaml
# 推荐写法(完整参数集)
python
