I am using the exact same script, didn’t change anything, I read the reproducibility doc and follow them like this:
seed=10
torch.manual_seed(seed)
torch.backends.cudnn.deterministic = True
torch.backends.cudnn.benchmark = False
np.random.seed(seed)
random.seed(seed)
os.environ['PYTHONHASHSEED'] = str(seed)
torch.cuda.manual_seed(seed)
torch.cuda.manual_seed_all(seed)
def _init_fn(worker_id):
    np.random.seed(int(seed))

Also, a few interesting things to notice, I compare models between two runs; before and after the first 20 iterations. Each iteration has a batch size of 8. Before any iteration the models between two runs are exactly the same, after 20 iterations the models only differ on my testnet, the resnet part remains the same. Also, I compare loss for each iteration and found out that the first difference between losses occurs in the 7th iteration which means before that there are 48 images that have passed without any issue.  The losses are:
0.703749358654(1st run) 0.703749418259(2nd run)
I think this is maybe coming from some precision issue of small numbers.