| | from abc import abstractmethod |
| | from torch.utils.data import Dataset, ConcatDataset, ChainDataset, IterableDataset |
| |
|
| |
|
| | class Txt2ImgIterableBaseDataset(IterableDataset): |
| | ''' |
| | Define an interface to make the IterableDatasets for text2img data chainable |
| | ''' |
| | def __init__(self, num_records=0, valid_ids=None, size=256): |
| | super().__init__() |
| | self.num_records = num_records |
| | self.valid_ids = valid_ids |
| | self.sample_ids = valid_ids |
| | self.size = size |
| |
|
| | print(f'{self.__class__.__name__} dataset contains {self.__len__()} examples.') |
| |
|
| | def __len__(self): |
| | return self.num_records |
| |
|
| | @abstractmethod |
| | def __iter__(self): |
| | pass |