I’ve used print() inside the dataloader. For my great surprise I was using num_workers = 10 and batch_size=1 and I saw the dataloader run 10 times. It returned only one sample, but run 10 times.
In short, all those loaded samples were lost? the idx of dataloader considered them as already taken?
Why don’t you fix the amount of workers to be =< than the batch size in the source?