10import copy
11
12from torch.utils.data import Dataset, IterableDataset
13
14from labml_helpers.module import M, TypedModuleList
17def clone_module_list(module: M, n: int) -> TypedModuleList[M]:
23 return TypedModuleList([copy.deepcopy(module) for _ in range(n)])
26def cycle_dataloader(data_loader):
34 while True:
35 for batch in data_loader:
36 yield batch
මෙය සිතියම් විලාසිතාවේ දත්ත කට්ටලයක් බවට IterableDataset
පරිවර්තනය කරන අතර එමඟින් අපට දත්ත කට්ටලය මාරු කළ හැකිය.
මෙයක්රියාත්මක වන්නේ දත්ත සමුදාය ප්රමාණය කුඩා වන අතර මතකයේ රඳවා ගත හැකි විට පමණි.
39class MapStyleDataset(Dataset):
52 def __init__(self, dataset: IterableDataset):
දත්තමතකය වෙත පූරණය කරන්න
54 self.data = [d for d in dataset]
දර්ශකයඅනුව නියැදියක් ලබා ගන්න
56 def __getitem__(self, idx: int):
58 return self.data[idx]
කඅනුකාරකයක් සාදන්න
60 def __iter__(self):
62 return iter(self.data)
දත්තසමුදාය ප්රමාණය
64 def __len__(self):
66 return len(self.data)