Yolact自定义数据集训练报错:指定图片路径不存在
解决Yolact训练自定义皮革缺陷数据集时的图片路径不存在问题
从你给出的报错信息AssertionError: Image path does not exist: data/YolaDataset/train/6.JPG,结合你描述的文件存储路径,核心问题集中在路径大小写不匹配和标注文件路径未同步这两个关键点上,下面是分步解决方法:
1. 修正Config中的路径大小写错误
你实际将数据集放在了yolact/data/YolactDataset,但config.py里写的是YolaDataset——Linux环境下文件名严格区分大小写,这直接导致程序找不到对应文件夹。修改config.py中的路径配置:
yolact_leather_defect_dataset = Config({ 'name': 'Yolact Leather Defect', # Training images and annotations 'train_images': './data/YolactDataset/train/', # 把Yola改为Yolact 'train_info': './data/train.json', # Validation images and annotations. 'valid_images': './data/YolactDataset/test/', # 同步修改此处的大小写 'valid_info': './data/test.json', # 其余配置保持不变 })
2. 检查并修正标注文件中的图片路径
用labelme2coco转换标注时,生成的train.json/test.json里的图片路径可能还是你标注时的原始路径,没有适配Yolact的目录结构。你需要:
- 打开
train.json,找到每个image条目下的file_name字段 - 确保该字段只保留图片文件名(比如
6.JPG),因为config.py中的train_images已经指定了文件夹路径,程序会自动拼接完整路径
正确的image条目示例:
{ "id": 1, "width": 550, "height": 550, "file_name": "6.JPG", "license": 0, "flickr_url": "", "coco_url": "", "date_captured": 0 }
3. 验证路径有效性
在Yolact根目录(/yolact/)下,用终端命令测试图片路径是否真实存在:
ls ./data/YolactDataset/train/6.JPG
如果命令返回文件名,说明路径配置正确;如果提示No such file or directory,再检查文件夹名称、图片文件名的拼写和大小写。
额外排查点
- 确认所有训练/测试图片都已经放到对应的
train/和test/文件夹下,没有遗漏或文件名错误 - 如果在Docker/Colab环境运行,确认数据已正确挂载/上传到指定目录,没有路径映射问题
按以上步骤修正后,重新启动训练应该就能解决这个路径不存在的报错了。
内容的提问来源于stack exchange,提问作者Keval Rajpal
相关产品推荐
相关产品推荐

