Hi, there are several approaches that I can think of.

Assign each data item with a unique identifier (e.g. image path) and log that when the error occurs. Perhaps this datapoint is a bit funky?
Built a testcase for your dataloader where you loop through all the data and assert that it is the correct shape, datatype etc…
Make your code saveable/resumable so that you don’t have to redo all the 2000 steps before debugging, but maybe just 100.

In your case it seems like comb_iter_1_left has the batch size of 16 whilst the right one has 9. As to why is impossible to say for me but perhaps your dataset isn’t evenly dividable with 16 so the last batch is just 9?
Edit: What steps are you taking to make sure that your program is deterministic?