docs/si/adaptive_computation/parity.html
මෙයකඩදාසි වලින් Parity Task සඳහා දත්ත නිර්මාණය කරයි අනුවර්තී ගණනය කිරීමේ කාලය පුනරාවර්තන ස්නායුක ජාල සඳහා.
සමානාත්මතාකර්තව්යයේ ආදානය යනු 01−1ගේ හා සමඟ දෛශිකයකි. ප්රතිදානය යනු 1සමානාත්මතාවයයි - එහි නම් එක් යනු ඔත්තේ සංඛ්යාවක් වන 1අතර වෙනත් ආකාරයකින් ශුන්ය වේ. ආදානය ජනනය කරනු ලබන්නේ දෛශිකයේ අහඹු මූලද්රව්ය සංඛ්යාවක් 1 හෝ −1ය.
19fromtypingimportTuple2021importtorch22fromtorch.utils.dataimportDataset
25classParityDataset(Dataset):
n_samples සාම්පල සංඛ්යාව වේn_elems ආදාන දෛශිකයේ මූලද්රව්ය ගණන30def\_\_init\_\_(self,n\_samples:int,n\_elems:int=64):
35self.n\_samples=n\_samples36self.n\_elems=n\_elems
දත්තසමුදාය ප්රමාණය
38def\_\_len\_\_(self):
42returnself.n\_samples
නියැදියක්ජනනය කරන්න
44def\_\_getitem\_\_(self,idx:int)-\>Tuple[torch.Tensor,torch.Tensor]:
හිස්දෛශික
50x=torch.zeros((self.n\_elems,))
ශුන්යනොවන මූලද්රව්ය සංඛ්යාව - අතර අහඹු සංඛ්යාවක් 1 සහ සම්පූර්ණ මූලද්රව්ය සංඛ්යාව
52n\_non\_zero=torch.randint(1,self.n\_elems+1,(1,)).item()
1ගේ සහ −1ගේ සමග ශුන්ය නොවන අංග පුරවන්න
54x[:n\_non\_zero]=torch.randint(0,2,(n\_non\_zero,))\*2-1
අහඹුලෙස මූලද්රව්ය විකෘති කරන්න
56x=x[torch.randperm(self.n\_elems)]
සමානාත්මතාවය
59y=(x==1.).sum()%2
62returnx,y