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

Colab训练YOLOv8高轮次时出现FileNotFoundError问题求助

YOLOv8训练高轮次中途报FileNotFoundError的解决办法
  • 清理数据集缓存文件
    YOLOv8训练时会自动生成.cache格式的数据集缓存文件,用于加速数据加载。如果缓存文件损坏或路径映射异常,后续轮次就可能出现找不到图片的错误。直接删除数据集目录下的所有.cache文件,重新启动训练即可让系统重新生成正确的缓存。

  • 验证数据集配置文件路径
    确认google_colab_config.yaml中的path、train、val字段路径完全正确,尤其是在Colab环境中,要确保Google Drive挂载路径没有变动(比如重新挂载后路径前缀变化)。训练前可以用以下代码打印配置文件内容,核对路径:

    import os
    # 替换为你的ROOT_DIR实际定义
    ROOT_DIR = "/content/drive/MyDrive/your_dataset_dir"
    data_config_path = os.path.join(ROOT_DIR, "google_colab_config.yaml")
    with open(data_config_path, 'r', encoding='utf-8') as f:
        print(f.read())
    
  • 迁移数据集到持久化存储
    Colab的临时目录(/content/下非Drive挂载区域)存在文件丢失风险,长时间训练时更容易出现问题。如果你的数据集存放在临时目录,建议迁移到Google Drive并通过drive.mount()挂载使用,保证文件持久化。

  • 禁用训练缓存
    在model.train()中添加cache=False参数,强制关闭数据集缓存,让系统每轮都重新读取图片路径,避免缓存失效导致的错误:

    import os
    from ultralytics import YOLO
    model = YOLO("yolov8x.yaml")
    results = model.train(data=os.path.join(ROOT_DIR, "google_colab_config.yaml"), epochs=60, cache=False)
    
  • 批量验证数据集完整性
    虽然你检查了报错的单张图片,但可以用脚本批量验证所有训练集图片的可访问性,排查是否存在其他损坏或路径错误的图片:

    import os
    from PIL import Image
    
    def validate_images(image_dir):
        for filename in os.listdir(image_dir):
            if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
                img_path = os.path.join(image_dir, filename)
                try:
                    with Image.open(img_path) as img:
                        img.verify()
                except Exception as e:
                    print(f"异常图片: {img_path}, 错误信息: {str(e)}")
    
    # 替换为你的训练集图片目录路径
    validate_images("/content/drive/MyDrive/your_dataset/train/images")
    

内容的提问来源于stack exchange,提问作者RD Smart AI Solution

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 19:52:04