fundamentalvision / Deformable-DETR

Deformable DETR: Deformable Transformers for End-to-End Object Detection.
Apache License 2.0
3.15k stars 513 forks source link

KeyError: Caught KeyError in DataLoader worker process 0. #159

Open Fyw1988 opened 2 years ago

Fyw1988 commented 2 years ago

When I use 'GPUS_PER_NODE=1 ./tools/run_dist_launch.sh 1 ./configs/r50_deformable_detr.sh' to try to train on the coco dataset, The following error occurred:

Start training Traceback (most recent call last): File "/home/ding/fyw/Deformable-DETR-main/main.py", line 326, in main(args) File "/home/ding/fyw/Deformable-DETR-main/main.py", line 275, in main train_stats = train_one_epoch( File "/home/ding/fyw/Deformable-DETR-main/engine.py", line 37, in train_one_epoch prefetcher = data_prefetcher(data_loader, device, prefetch=True) File "/home/ding/fyw/Deformable-DETR-main/datasets/data_prefetcher.py", line 21, in init self.preload() File "/home/ding/fyw/Deformable-DETR-main/datasets/data_prefetcher.py", line 25, in preload self.next_samples, self.next_targets = next(self.loader) File "/home/ding/anaconda3/envs/yolov5/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 521, in next data = self._next_data() File "/home/ding/anaconda3/envs/yolov5/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1203, in _next_data return self._process_data(data) File "/home/ding/anaconda3/envs/yolov5/lib/python3.9/site-packages/torch/utils/data/dataloader.py", line 1229, in _process_data data.reraise() File "/home/ding/anaconda3/envs/yolov5/lib/python3.9/site-packages/torch/_utils.py", line 434, in reraise raise exception KeyError: Caught KeyError in DataLoader worker process 0. Original Traceback (most recent call last): File "/home/ding/anaconda3/envs/yolov5/lib/python3.9/site-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop data = fetcher.fetch(index) File "/home/ding/anaconda3/envs/yolov5/lib/python3.9/site-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/ding/anaconda3/envs/yolov5/lib/python3.9/site-packages/torch/utils/data/_utils/fetch.py", line 49, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/ding/fyw/Deformable-DETR-main/datasets/coco.py", line 34, in getitem img, target = super(CocoDetection, self).getitem(idx) File "/home/ding/fyw/Deformable-DETR-main/datasets/torchvision_datasets/coco.py", line 75, in getitem path = coco.loadImgs(img_id)[0]['file_name'] File "/home/ding/anaconda3/envs/yolov5/lib/python3.9/site-packages/pycocotools/coco.py", line 230, in loadImgs return [self.imgs[id] for id in ids] File "/home/ding/anaconda3/envs/yolov5/lib/python3.9/site-packages/pycocotools/coco.py", line 230, in return [self.imgs[id] for id in ids] KeyError: '0'

Traceback (most recent call last): File "/home/ding/fyw/Deformable-DETR-main/./tools/launch.py", line 201, in main() File "/home/ding/fyw/Deformable-DETR-main/./tools/launch.py", line 196, in main raise subprocess.CalledProcessError(returncode=process.returncode, subprocess.CalledProcessError: Command '['./configs/r50_deformable_detr.sh']' returned non-zero exit status 1.

It looks like a data and read error, but I don't know why.Has anyone experienced this error?

Fyw1988 commented 2 years ago

I have completed the compilation according to the steps of the github.

PaiDaxing114514 commented 9 months ago

I had the same problem. Did you solve it