yolov8 路径问题

训练时,报错:data.yaml does not exist

!yolo task=detect mode=train model=yolov8n.pt data=data.yaml

解决办法:

写绝对路径:

!yolo task=detect mode=train model=yolov8n.pt data=/home/{username}/{xxx}/{xxx}/datasets/data.yaml

data.ymal 里path的配置也要是绝对路径:

# path: ../datasets/{your_project}  # dataset root dir
path: /home/{username}/{xxx}/{xxx}/datasets/{your_project}  # dataset root dir

原因

  1. cli 传参
    https://github.com/ultralytics/ultralytics/blob/790f9c067c9a3548acf7c6925cea14de9ad77787/ultralytics/yolo/cfg/__init__.py#L183

  2. train
    https://github.com/ultralytics/ultralytics/blob/790f9c067c9a3548acf7c6925cea14de9ad77787/ultralytics/yolo/engine/model.py#L294

  3. 初始化trainer
    https://github.com/ultralytics/ultralytics/blob/790f9c067c9a3548acf7c6925cea14de9ad77787/ultralytics/yolo/engine/trainer.py#L75

  4. 获取参数
    https://github.com/ultralytics/ultralytics/blob/790f9c067c9a3548acf7c6925cea14de9ad77787/ultralytics/yolo/cfg/__init__.py#L87

  5. 加载data.ymal
    https://github.com/ultralytics/ultralytics/blob/790f9c067c9a3548acf7c6925cea14de9ad77787/ultralytics/yolo/engine/trainer.py#L122

  6. 拼接data.ymal 文件路径
    https://github.com/ultralytics/ultralytics/blob/790f9c067c9a3548acf7c6925cea14de9ad77787/ultralytics/yolo/data/utils.py#L220
    在这里插入图片描述
    这里可以看到,如果不写成绝对路径,则按DATASETS_DIR去拼接,
    过程是:yolo先找到user_config_dir
    /home/{user}/.config,
    第一次运行yolo项目A时,会在下面创建/home/{user}/.config/Ultralytics
    和/home/{user}/.config/Ultralytics/settings.yaml
    setting.ymal 里会有DATASETS_DIR,值就是项目A的datasets路径。

datasets_dir: /home/{user}/{projectA}/datasets

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值