I’m trying to work out whether the
torch.utils.data.WeightedRandomSampler class will still cover all available data inputs provided a long enough training period when choosing sampling with replacement.
shuffle=False in the
DataLoader, does that mean that
WeightedRandomSampler will observe the entire sampling array (which is paired to the data thanks to
DataLoader), select the same high ranked objects, replace them, and then select them again… every epoch?
Or is there some inbuilt way that ensures it will still manage to cover all objects given enough time?
The reason I ask is because, when using sampling with replacement, the number of objects evaluated in one epoch remains the same length as when not…when intuitively you would expect the number of objects selected to increase.