Lame:

each time I add one by one to it using torch.cat((combined, Y))


That isn’t really a good idea to do at scale. It’s better to keep a list and cat at the end.
Another thing: Isn’t that a batch of 8 images rather than one?
I use pyplot.imshow a lot, it wants HWC format (and not batch), so you would need to do something like combined = combined.permute(0, 2, 3, 1).reshape(-1, combined.size(3), combined.size(1)) (or permute(2, 0, 3, 1).reshape(combined.size(2, -1, combined.size(1).
torchvision has make_grid 19 that can do the layout for you more easily than the above.
Best regards
Thomas