使用训练数据拟合深度学习模型失败,报NotFoundError错误求助
错误原因与修复方案
错误核心解释
这个NotFoundError的本质是:训练代码尝试读取指定路径的图片文件时,系统找不到该文件。错误日志里明确指出缺失的文件是:/content/drive/MyDrive/Dog images/dog-breeds-model/train/db7d4420a51a8928e82bcb1d9a6c4167.jpg
可能的问题点
- 文件本身不存在:数据集下载不完整、手动删除了该文件,或者文件被移动到了其他目录
- 路径书写错误:比如目录名/文件名的大小写错误(部分系统区分大小写)、空格或特殊字符处理不当、拼写错误
- 云盘挂载失效(如果用Colab):谷歌云盘的挂载会话过期,导致代码无法访问云盘内的文件
修复步骤
验证文件是否存在
执行代码检查文件路径的有效性:import os target_path = "/content/drive/MyDrive/Dog images/dog-breeds-model/train/db7d4420a51a8928e82bcb1d9a6c4167.jpg" print(os.path.exists(target_path))若输出
False,直接去对应的目录下确认文件状态,补充缺失文件或修正路径。检查路径准确性
在文件管理器(比如Colab左侧的文件导航栏)里复制路径导航,确认目录层级、文件名完全匹配,注意Dog images这类带空格的目录名是否正确,有没有误写成DogImages或dog_images。重新挂载云盘(Colab场景)
如果是在Colab中使用挂载的谷歌云盘,重新执行挂载命令恢复访问权限:from google.colab import drive drive.mount('/content/drive')完成挂载后再重新启动训练。
过滤无效数据集路径
如果你的数据集是通过路径列表加载的,重新生成有效路径列表,自动剔除不存在的文件:import os train_dir = "/content/drive/MyDrive/Dog images/dog-breeds-model/train" valid_paths = [] for file_name in os.listdir(train_dir): full_path = os.path.join(train_dir, file_name) if os.path.isfile(full_path) and file_name.lower().endswith(('.jpg', '.jpeg', '.png')): valid_paths.append(full_path) # 用valid_paths重新构建你的训练数据集
内容的提问来源于stack exchange,提问作者Edy
相关产品推荐
相关产品推荐

