YOLOX运行时有部分图片无法读取,无法开始训练。
具体报错如下:
代码使用的路径为绝对路径
操作系统为ubuntu20.04,
python版本为 3.10.13
/home/robot/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3526.)
return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
2023-11-01 19:43:42 | INFO | yolox.core.trainer:155 - Model Summary: Params: 0.89M, Gflops: 1.02
2023-11-01 19:43:43 | INFO | yolox.data.datasets.coco:66 - loading annotations into memory...
2023-11-01 19:43:43 | INFO | yolox.data.datasets.coco:66 - Done (t=0.02s)
2023-11-01 19:43:43 | INFO | pycocotools.coco:86 - creating index...
2023-11-01 19:43:43 | INFO | pycocotools.coco:86 - index created!
2023-11-01 19:43:43 | INFO | yolox.core.trainer:175 - init prefetcher, this might take one minute or less...
[ WARN:0@1.264] global loadsave.cpp:248 findDecoder imread_('/home/robot/TUP-NN-Train-2-main/armor_dataset_v4/images/images/001456.jpg'): can't open/read file: check file path/integrity
[ WARN:0@1.265] global loadsave.cpp:248 findDecoder imread_('/home/robot/TUP-NN-Train-2-main/armor_dataset_v4/images/images/000542.jpg'): can't open/read file: check file path/integrity
2023-11-01 19:43:43 | ERROR | yolox.core.launch:99 - An error has been caught in function 'launch', process 'MainProcess' (20626), thread 'MainThread' (140384179156160):
Traceback (most recent call last):
File "/home/robot/TUP-NN-Train-2-main/train.py", line 148, in <module>
launch(
└ <function launch at 0x7face5cb7130>
> File "/home/robot/TUP-NN-Train-2-main/yolox/core/launch.py", line 99, in launch
main_func(*args)
│ └ (╒═══════════════════╤═══════════════════════════════════════════════════════════════════════════════════════════════════════...
└ <function main at 0x7facd7846050>
File "/home/robot/TUP-NN-Train-2-main/train.py", line 129, in main
trainer.train()
│ └ <function Trainer.train at 0x7facd700dfc0>
└ <yolox.core.trainer.Trainer object at 0x7facd7041270>
File "/home/robot/TUP-NN-Train-2-main/yolox/core/trainer.py", line 76, in train
self.before_train()
│ └ <function Trainer.before_train at 0x7facd7025990>
└ <yolox.core.trainer.Trainer object at 0x7facd7041270>
File "/home/robot/TUP-NN-Train-2-main/yolox/core/trainer.py", line 177, in before_train
self.prefetcher = DataPrefetcher(self.train_loader)
│ │ │ └ <yolox.data.dataloading.DataLoader object at 0x7fad17352770>
│ │ └ <yolox.core.trainer.Trainer object at 0x7facd7041270>
│ └ <class 'yolox.data.data_prefetcher.DataPrefetcher'>
└ <yolox.core.trainer.Trainer object at 0x7facd7041270>
File "/home/robot/TUP-NN-Train-2-main/yolox/data/data_prefetcher.py", line 21, in __init__
self.preload()
│ └ <function DataPrefetcher.preload at 0x7facd700d6c0>
└ <yolox.data.data_prefetcher.DataPrefetcher object at 0x7fad173531f0>
File "/home/robot/TUP-NN-Train-2-main/yolox/data/data_prefetcher.py", line 25, in preload
self.next_input, self.next_target, _, _ = next(self.loader)
│ │ │ └ <torch.utils.data.dataloader._MultiProcessingDataLoaderIter object at 0x7fad173535e0>
│ │ └ <yolox.data.data_prefetcher.DataPrefetcher object at 0x7fad173531f0>
│ └ <yolox.data.data_prefetcher.DataPrefetcher object at 0x7fad173531f0>
└ <yolox.data.data_prefetcher.DataPrefetcher object at 0x7fad173531f0>
File "/home/robot/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 630, in __next__
data = self._next_data()
│ └ <function _MultiProcessingDataLoaderIter._next_data at 0x7face7b191b0>
└ <torch.utils.data.dataloader._MultiProcessingDataLoaderIter object at 0x7fad173535e0>
File "/home/robot/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 1345, in _next_data
return self._process_data(data)
│ │ └ <torch._utils.ExceptionWrapper object at 0x7fad17436260>
│ └ <function _MultiProcessingDataLoaderIter._process_data at 0x7face7b192d0>
└ <torch.utils.data.dataloader._MultiProcessingDataLoaderIter object at 0x7fad173535e0>
File "/home/robot/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 1371, in _process_data
data.reraise()
│ └ <function ExceptionWrapper.reraise at 0x7fadbb6a6560>
└ <torch._utils.ExceptionWrapper object at 0x7fad17436260>
File "/home/robot/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/_utils.py", line 694, in reraise
raise exception
└ AssertionError('Caught AssertionError in DataLoader worker process 0.\nOriginal Traceback (most recent call last):\n File "/...
AssertionError: Caught AssertionError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/home/robot/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/utils/data/_utils/worker.py", line 308, in _worker_loop
data = fetcher.fetch(index)
File "/home/robot/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 51, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/robot/anaconda3/envs/pytorch/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 51, in <listcomp>
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/robot/TUP-NN-Train-2-main/yolox/data/datasets/datasets_wrapper.py", line 110, in wrapper
ret_val = getitem_fn(self, index)
File "/home/robot/TUP-NN-Train-2-main/yolox/data/datasets/mosaicdetection.py", line 95, in __getitem__
img, _labels, _, img_id = self._dataset.pull_item(index)
File "/home/robot/TUP-NN-Train-2-main/yolox/data/datasets/coco.py", line 215, in pull_item
img = self.load_resized_img(index)
File "/home/robot/TUP-NN-Train-2-main/yolox/data/datasets/coco.py", line 185, in load_resized_img
img = self.load_image(index)
File "/home/robot/TUP-NN-Train-2-main/yolox/data/datasets/coco.py", line 200, in load_image
assert img is not None, f"file named {img_file} not found"
AssertionError: file named /home/robot/TUP-NN-Train-2-main/armor_dataset_v4/images/images/000542.jpg not found