I did this:
class SyntheticNoiseDatasetsalttr(Dataset):
    def __init__(self, data,mode='train'):
        self.mode = mode
        self.data = data
        self.s = 1
        
    def __len__(self):
        return len(self.data)
    
    def __getitem__(self, index):
        img = self.data[index][0]
        self.s = self.s + 1 
        return add_noise_sp(img,self.s), img

It seems like I am making a mistake here because I get the same result as before: every time I run the code I get different noise:
1st run:

2nd run:

All I want is different noise in different images (controlled by the seed) but it should be the same every time I execute the code.