When you write for i, (images, targets) in enumerate(self.train_loader), you expect the train_loader to return 2 elements at every iteration. It looks like it returns more in your case.
You can for for i, loader_data in enumerate(self.train_loader) to get the loader datas and inspect them to see why there isn’t the number you expect.