Actually, I have been using this discrepancy in the actual length of the iterable vs what is returned in len for randomly selecting equal number (say 300) of  augmented data points  for an epoch disregarding the actual number of images using something like
class Dataset(torch.utils.data.Dataset):
  def __init__(self):
      self.samples = list(range(100))
  def __getitem__(self, index):
      act_index = random.randint(0, len(self.images))
      return self.samples[act_index]
  def __len__(self):
      return 300

This way I get to always have 300 points from the dataloader.