Download model/fake_data.py from OneScience-Group/AtmoRep: direct link, hf CLI and curl.
- Browser
- Download file 1.04 kB
-
https://huggingface.co/OneScience-Group/AtmoRep/resolve/main/model/fake_data.py
- Command line
-
hf download hf://OneScience-Group/AtmoRep/model/fake_data.py
-
curl -L -o fake_data.py https://huggingface.co/OneScience-Group/AtmoRep/resolve/main/model/fake_data.py
1.04 kB
| """Deterministic fake dataset for the tiny AtmoRep training pipeline.""" | |
| import torch | |
| from torch.utils.data import Dataset | |
| from .tiny_atmorep import TinyAtmoRepConfig | |
| class FakeAtmoRepDataset(Dataset): | |
| def __init__(self, config: TinyAtmoRepConfig, samples: int, seed: int, mask_fraction: float) -> None: | |
| self.config, self.samples, self.seed = config, samples, seed | |
| self.num_tokens = (config.input_shape[0] // config.patch_shape[0]) * (config.input_shape[2] // config.patch_shape[1]) * (config.input_shape[3] // config.patch_shape[2]) | |
| self.mask_count = max(1, round(self.num_tokens * mask_fraction)) | |
| def __len__(self): | |
| return self.samples | |
| def __getitem__(self, index): | |
| generator = torch.Generator().manual_seed(self.seed + index) | |
| fields = torch.randn(self.config.input_shape, generator=generator) | |
| mask = torch.zeros(self.num_tokens, dtype=torch.bool) | |
| mask[torch.randperm(self.num_tokens, generator=generator)[:self.mask_count]] = True | |
| return fields, mask | |