The outputs seem to be like this:
cuda:0 torch.Size([2, 1, 840, 640])
cuda:2 torch.Size([2, 1, 840, 640])
cuda:3 torch.Size([2, 1, 840, 640])

These size are in format of (batch_size, channel, Height, Width).
The labels data for back propagation are:
cuda:3, torch.Size([2, 3, 1, 840, 640])
The ‘MSELoss’ function is also sent to ‘cuda:3’ too.