mirror of
https://github.com/invoke-ai/InvokeAI
synced 2024-08-30 20:32:17 +00:00
32 lines
738 B
Python
32 lines
738 B
Python
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
|