unlabelledloader2 = torch.utils.data.DataLoader(train_data, batch_size=batch_size, sampler = unlabelled_sampler2, num_workers=workers, pin_memory=True)
unlabelledloader = torch.utils.data.DataLoader(train_data, batch_size=batch_size, sampler = unlabelled_sampler, num_workers=workers, pin_memory=True)
train_loader= torch.utils.data.DataLoader(train_data, batch_size=batch_size, sampler = train_sampler, num_workers=workers, pin_memory=True)
for (input, target), (u, _), (u2, _) in zip(cycle(trainloader), unlabelledloader, cycle(unlabelledloader2):
И у Trainloader, и у unlabelledloader2 есть 1000 образцов, в то время как у unlabelledloader есть 2037 образцов.Все они настроены на 100 сэмплов каждый шаг.
На последнем шаге я ожидал, что unlabelledloader выберет 37 выборок, в то время как trainloader и unlabelledloader2 получат одинаковое количество выборок, либо 37, либо 100. Однако, происходит странная вещь, загрузчик trainp выскочил 37, ноunlabelledloader2 вытолкнул 100.
Может кто-нибудь объяснить это?Большое спасибо!