Of the seeds I was using:
torch.manual_seed(123)

import random
random.seed(123)

cuda=True #set to true uses GPU

if cuda:
    torch.cuda.manual_seed(123)

It appears that only this one is required each time: torch.manual_seed(123)
The cuda one is not (I am using a GPU).
If I do this each time, then things are the same! I was under the impression that setting a seed like this would mean that the random number was used each time - held in memory. That is not the case?