'I am training Yolov5 on OID dataset and I'm getting these errors, "Caught KeyError in DataLoader worker process 0" and "KeyError: 'copy_paste'"

So this is my error, I am using the OID dataset for training using the YOLOV5 model. As a reference, I'm using this article: https://blog.paperspace.com/train-yolov5-custom-data/. I am getting stuck at the training part, please help.

 [Epoch   gpu_mem       box       obj       cls    labels  img_size
  0% 0/664 \[00:00<?, ?it/s\]
Traceback (most recent call last):

  File "train.py", line 667, in <module>
    main(opt)
  File "train.py", line 562, in main
    train(opt.hyp, opt, device, callbacks)
  File "train.py", line 323, in train
    for i, (imgs, targets, paths, _) in pbar:  

  File "/usr/local/lib/python3.7/dist-packages/tqdm/std.py", line 1195, in __iter__
    for obj in iterable:
  File "/content/yolov5/utils/datasets.py", line 160, in __iter__
    yield next(self.iterator)
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 530, in __next__
    data = self._next_data()
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 1224, in _next_data
    return self._process_data(data)
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/dataloader.py", line 1250, in _process_data
    data.reraise()
  File "/usr/local/lib/python3.7/dist-packages/torch/_utils.py", line 457, in reraise
    raise exception
KeyError: Caught KeyError in DataLoader worker process 0.
Original Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/worker.py", line 287, in _worker_loop
    data = fetcher.fetch(index)
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/fetch.py", line 49, in fetch
    data = \[self.dataset\[idx\] for idx in possibly_batched_index\]
  File "/usr/local/lib/python3.7/dist-packages/torch/utils/data/_utils/fetch.py", line 49, in <listcomp>
    data = \[self.dataset\[idx\] for idx in possibly_batched_index\]
  File "/content/yolov5/utils/datasets.py", line 589, in __getitem__
    img, labels = self.load_mosaic(index)
  File "/content/yolov5/utils/datasets.py", line 725, in load_mosaic
    img4, labels4, segments4 = copy_paste(img4, labels4, segments4, p=self.hyp\['copy_paste'\])
KeyError: 'copy_paste'][1]


Solution 1:[1]

I see that you're using an old version of yolov5. Kindly update your code by git pull from main repo or download it as zip file.

If this does not solve your problem, kindly provide more info like your train command and your use case.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Vijay P