You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行yolov5的train.py报AssertionError找不到div2.yaml求助

问题描述
  • 在Anaconda Prompt中执行YOLOv5训练指令,程序输出多行启动日志后抛出AssertionError: File not found: div2.yaml错误
  • 执行的训练命令如下:
python train.py --img 640 --batch 16 --epochs 3 --data div2.yaml --weights yolov5s.pt
  • 使用的div2.yaml基于官方coco128.yaml修改编写,内部已配置数据集图片、验证集关联路径
  • div2.yaml实际存放路径为C:\Users\Marti\Desktop\yolov5\Data,尝试在--data参数中传入文件完整绝对路径后仍触发相同报错,尝试上传目录结构截图未成功。
可行解决方案

按优先级逐一排查即可:

1. 修正工作目录与路径传参

YOLOv5的train.py默认仅从两个位置查找--data传入的配置文件:当前执行命令的工作目录、项目根目录下内置的data/(全小写)文件夹,不会自动扫描其他子目录。

  • 执行训练命令前,先将Anaconda Prompt的工作目录切换到yolov5项目根目录:
cd C:\Users\Marti\Desktop\yolov5
  • 你的配置文件存放在首字母大写的Data文件夹下,不属于程序默认扫描路径,两种修复方式二选一:
    • 将div2.yaml移动到项目根目录下全小写命名的data文件夹中,--data参数直接传div2.yaml即可
    • 不移动文件的话,传参时写对相对路径:--data Data/div2.yaml,路径优先使用正斜杠避免Windows反斜杠触发转义问题

注意:如果使用绝对路径传参,不要漏写文件名本身,正确写法为--data C:/Users/Marti/Desktop/yolov5/Data/div2.yaml,同时确认路径中无中文、特殊字符、多余空格。

2. 排查文件隐藏后缀问题

Windows默认隐藏已知文件类型扩展名,很容易出现视觉上文件名是div2.yaml,实际真实名称为div2.yaml.yaml、div2.yml的情况。

  • 打开存放div2.yaml的文件夹,点击顶部「查看」选项卡,勾选「文件扩展名」选项,确认文件真实后缀为.yaml,不存在重复后缀或后缀名错误。

3. 排查yaml内部配置错误触发的误报

部分旧版本YOLOv5存在报错提示不准确的问题:如果yaml文件本身被找到,但内部配置的训练/验证集路径不存在、yaml语法缩进错误,也会抛出文件找不到的断言,容易误导用户认为是yaml本身缺失。

  • 打开div2.yaml,检查train、val字段填写的数据集路径,优先写绝对路径,确认对应路径下确实存在数据集图片
  • 检查yaml格式:所有层级缩进使用2个空格,不要用Tab键缩进,避免语法错误。

修复验证

完成上述调整后,先在yolov5根目录执行以下命令验证配置文件是否能被正常加载:

python -c "from utils.general import check_yaml; print(check_yaml('Data/div2.yaml'))"

命令正常输出yaml配置内容无报错的话,再启动训练即可。

内容的提问来源于stack exchange,提问作者Marze lells

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 17:54:36