base.py 693 B

1234567891011121314151617181920212223
  1. from abc import abstractmethod
  2. from torch.utils.data import Dataset, ConcatDataset, ChainDataset, IterableDataset
  3. class Txt2ImgIterableBaseDataset(IterableDataset):
  4. '''
  5. Define an interface to make the IterableDatasets for text2img data chainable
  6. '''
  7. def __init__(self, num_records=0, valid_ids=None, size=256):
  8. super().__init__()
  9. self.num_records = num_records
  10. self.valid_ids = valid_ids
  11. self.sample_ids = valid_ids
  12. self.size = size
  13. print(f'{self.__class__.__name__} dataset contains {self.__len__()} examples.')
  14. def __len__(self):
  15. return self.num_records
  16. @abstractmethod
  17. def __iter__(self):
  18. pass