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 | |
def __iter__(self): | |
pass |