Mask RCNN加载自定义验证集报FileNotFoundError文件缺失问题求助
报错核心定位
错误触发在dataset.load_custom(CUSTOM_DIR, "val")执行阶段,程序试图读取/content/Mask_RCNN/dataset/val/download.jpg时找不到对应文件。
排查方向
- 验证目标路径下的文件存在性:在Colab代码单元格执行
!ls /content/Mask_RCNN/dataset/val,检查输出结果中是否包含download.jpg文件 - 核对数据集标注文件:检查验证集对应的标注文件(COCO格式的json、VOC格式的xml集合等),确认是否存在
download.jpg的标注记录,但该文件已被删除/移动到其他目录 - 核查
CustomDataset类的load_custom方法逻辑:确认方法内部的图片路径拼接规则是否正确,是否存在多拼前缀、后缀写错、大小写不匹配的问题(Linux环境对路径大小写敏感) - 确认数据集拆分逻辑正确性:如果是用代码自动拆分训练/验证集,检查拆分时是否把已删除的文件计入了验证集列表
解决方法
- 若标注文件存在冗余记录:直接删除标注中所有和
download.jpg相关的条目即可 - 若文件确实缺失:把
download.jpg文件补入/content/Mask_RCNN/dataset/val目录 - 若路径拼接逻辑错误:修改
load_custom方法中的路径拼接代码,保证生成的图片路径和实际存储路径完全一致 - 若数据集拆分错误:重新执行数据集拆分逻辑,确保训练、验证集的标注和图片一一对应,不存在标注存在但图片缺失的情况
内容的提问来源于stack exchange,提问作者engineering Baba
相关产品推荐
相关产品推荐

