I see that you have done the merge/fusion yourself by tweaking the original class. Nonetheless, if you want to do this ‘train’-‘extra’ merge, you can inherit the SVHN Dataset class and combine the two ‘splits’ as one. This would be a much neater solution. Here’s an example of how this could be done:
TVDatasetFusion 90
As for your second question, the shuffle is done when you initiate the Dataloader, something like:
train_loader = torch.utils.data.DataLoader(train_set, batch_size, shuffle=True, num_workers=2)