Two sets of dataloader different

I want to use two different transform methods to create two sets of dataloader in the same group of pictures,

train_set_1 = DatasetFolder("/content/food-11/training", 
              loader=lambda x: Image.open(x), extensions="jpg", 
              transform=train_tfm_1, )
train_set_2 = DatasetFolder("/content/food-11/training", 
            loader=lambda x: Image.open(x), extensions="jpg", 
            transform=train_tfm_2)

train_loader_1 = DataLoader(train_set_1, batch_size=batch_size, shuffle=True, pin_memory=True, worker_init_fn=worker_init_fn)
train_loader_2 = DataLoader(train_set_2, batch_size=batch_size, shuffle=True, pin_memory=True, worker_init_fn=worker_init_fn)

the current problem is that the order of the two sets of dataloader will be different,

dataiter = iter(train_loader_1)
images1, labels1 = dataiter.next()

dataiter2 = iter(train_loader_2)
images2, labels2 = dataiter2.next()type or paste code here

I want to please ask how to use the same folder to create two sets of dataloader with the same order, thank you!

I finally solved it as follows:



g = torch.Generator()
g.manual_seed(0)

h = torch.Generator()
h.manual_seed(0)

train_loader_1 = DataLoader(train_set_1, batch_size=batch_size, shuffle=True, pin_memory=True, generator=g)
train_loader_2 = DataLoader(train_set_2, batch_size=batch_size, shuffle=True, pin_memory=True, generator=h)