报错FileNotFoundError

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "D:\Program\JetBrains\PyCharm 2019.1.3\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
  File "D:\Program\JetBrains\PyCharm 2019.1.3\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "D:/Program/JetBrains/PycharmProjects/yan/SENet/SENet-10x/train_10k.py", line 485, in <module>
    loss_k, train_k, valid_k = k_fold(k, train_txt_path,test_txt_path, txt_path, num_epochs, device, batch_size, optimizer,loss,net)
  File "D:/Program/JetBrains/PycharmProjects/yan/SENet/SENet-10x/train_10k.py", line 346, in k_fold
    loss_min,train_acc_max,test_acc_max=train(i,train_loader,test_loader, net, loss, optimizer, device, num_epochs)
  File "D:/Program/JetBrains/PycharmProjects/yan/SENet/SENet-10x/train_10k.py", line 391, in train
    for X, y in train_iter:
  File "D:\Program\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 435, in __next__
    data = self._next_data()
  File "D:\Program\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 1065, in _next_data
    return self._process_data(data)
  File "D:\Program\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 1111, in _process_data
    data.reraise()
  File "D:\Program\Anaconda3\envs\pytorch\lib\site-packages\torch\_utils.py", line 428, in reraise
    raise self.exc_type(msg)
FileNotFoundError: Caught FileNotFoundError in DataLoader worker process 2.


Original Traceback (most recent call last):
  File "D:\Program\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\_utils\worker.py", line 198, in _worker_loop
    data = fetcher.fetch(index)
  File "D:\Program\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\_utils\fetch.py", line 44, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "D:\Program\Anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\_utils\fetch.py", line 44, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "D:\Program\JetBrains\PycharmProjects\yan\SENet\SENet-10x\train_10k.py", line 89, in __getitem__
    feature = Image.open(feature).convert('RGB')  # 按照path读入图片from PIL import Image # 按照路径读取图片
  File "D:\Program\Anaconda3\envs\pytorch\lib\site-packages\PIL\Image.py", line 2891, in open
    fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: './datasets/tobacco/tobo/tobacco-re/3/0917-collect fresh tobacco-9-66_3_26 (2).JPG'

./datasets/tobacco/tobacco-re/3/0917-collect fresh tobacco-9-66_3_26 (2).JPG文件是存在的,处理这张图片之前的图片时也是正常的,但是未知原因导致生成了错误路径(./datasets/tobacco/tobo/tobacco-re/3/0917-collect fresh tobacco-9-66_3_26 (2).JPG)多了红色部分。将程序中的关于路径的变量输出检查也都是正确的。如果重新运行程序,就会随机在处理另一张图片时报错。

尝试参照链接中的解决方案https://github.com/eriklindernoren/PyTorch-YOLOv3/issues/162,在train_10k.py中添加如下代码后还是报错。。。SOS

from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True


版权声明:本文为Asuyio原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。