assert img is not None, ‘Image Not Found ‘ + pathAssertionError: Image Not Found

因代码从C盘移至D盘导致YOLOv7运行异常,删除数据集labels目录下的train.cache和val.cache文件后,代码能正常运行。这些.cache文件存储了旧路径信息,路径改变后未更新,从而引发问题。删除后会自动生成新的缓存文件,匹配新路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原因

事情是这样的,之前跑的代码在工作站的C盘要爆仓了,就把整个工程文件移到了D盘,本来能跑的代码突然就跑不了了抛出如下异常

搜到有跑YOLOv5的老哥说(原文链接):

将utils/datasets.py文件中的

p = str(Path(path).absolute()) # os-agnostic absolute path

改为

p = str(Path(path)),重新运行代码即可

但YOLOv7代码不是这样的,所有没用,评论区有大哥给出答案


解决办法

把数据集文件夹目录下labels目录下的train.cache和val.cache文件删掉重新运行即可,因为里面的地址是你之前在上个路径下运行生成的。

整个工程文件更改路径后,(我猜测)运行时为了节省加载时间会加载那里面的路径,即使配置文件里的路径改了,但他加载的还是上个路径,所以找不到图片。删掉后再运行,会重新生成两个.cache文件


记录一下~

Traceback (most recent call last): File "C:\Users\Administrator\Desktop\Yolodone\train.py", line 543, in <module> train(hyp, opt, device, tb_writer) File "C:\Users\Administrator\Desktop\Yolodone\train.py", line 278, in train for i, (imgs, targets, paths, _) in pbar: # batch ------------------------------------------------------------- File "C:\ProgramData\Anaconda3\envs\pytorch1\lib\site-packages\tqdm\std.py", line 1178, in __iter__ for obj in iterable: File "C:\Users\Administrator\Desktop\Yolodone\utils\datasets.py", line 104, in __iter__ yield next(self.iterator) File "C:\ProgramData\Anaconda3\envs\pytorch1\lib\site-packages\torch\utils\data\dataloader.py", line 633, in __next__ data = self._next_data() File "C:\ProgramData\Anaconda3\envs\pytorch1\lib\site-packages\torch\utils\data\dataloader.py", line 677, in _next_data data = self._dataset_fetcher.fetch(index) # may raise StopIteration File "C:\ProgramData\Anaconda3\envs\pytorch1\lib\site-packages\torch\utils\data\_utils\fetch.py", line 51, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "C:\ProgramData\Anaconda3\envs\pytorch1\lib\site-packages\torch\utils\data\_utils\fetch.py", line 51, in <listcomp> data = [self.dataset[idx] for idx in possibly_batched_index] File "C:\Users\Administrator\Desktop\Yolodone\utils\datasets.py", line 525, in __getitem__ img, labels = load_mosaic(self, index) File "C:\Users\Administrator\Desktop\Yolodone\utils\datasets.py", line 680, in load_mosaic img, _, (h, w) = load_image(self, index) File "C:\Users\Administrator\Desktop\Yolodone\utils\datasets.py", line 635, in load_image assert img is not None, 'Image Not Found ' + path AssertionError: Image Not Found D:\PycharmProjects\yolov5-hat\VOCdevkit\images\train\000000.jpg
07-16
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值