{"record":{"id":"0fb213e569d14a22","repo":"rohitg00/ai-engineering-from-scratch","slug":"window-index-index-out-of-range","errorCode":null,"errorMessage":"window index {index} out of range","messagePattern":"window index (.+?) out of range","errorType":"exception","errorClass":"IndexError","httpStatus":null,"severity":"error","filePath":"phases/19-capstone-projects/31-tokenized-dataset-sliding-window/code/main.py","lineNumber":190,"sourceCode":"        self.ids = torch.tensor(ids, dtype=torch.long)\n        self.context_length = context_length\n        self.stride = stride\n\n    @staticmethod\n    def count_windows(num_ids: int, context_length: int, stride: int) -> int:\n        usable = num_ids - (context_length + 1)\n        if usable < 0:\n            return 0\n        return 1 + usable // stride\n\n    def __len__(self) -> int:\n        return self.count_windows(self.ids.numel(), self.context_length, self.stride)\n\n    def __getitem__(self, index: int) -> tuple[torch.Tensor, torch.Tensor]:\n        if index < 0:\n            index += len(self)\n        if index < 0 or index >= len(self):\n            raise IndexError(f\"window index {index} out of range\")\n        start = index * self.stride\n        end = start + self.context_length + 1\n        window = self.ids[start:end]\n        return window[:-1].clone(), window[1:].clone()\n\n\ndef make_dataloader(\n    dataset: SlidingWindowDataset,\n    batch_size: int,\n    shuffle: bool = True,\n    base_seed: int = 0,\n    epoch: int = 0,\n    drop_last: bool = True,\n) -> DataLoader:\n    \"\"\"Build a DataLoader with a deterministic per-epoch shuffle.\"\"\"\n    generator = torch.Generator()\n    generator.manual_seed(base_seed + epoch)\n    return DataLoader(","sourceCodeStart":172,"sourceCodeEnd":208,"githubUrl":"https://github.com/rohitg00/ai-engineering-from-scratch/blob/39ea8a1c6d0b61f071226eff7ede4d4105fed820/phases/19-capstone-projects/31-tokenized-dataset-sliding-window/code/main.py#L172-L208","documentation":"Error \"window index {index} out of range\" thrown in rohitg00/ai-engineering-from-scratch.","triggerScenarios":"Thrown at phases/19-capstone-projects/31-tokenized-dataset-sliding-window/code/main.py:190 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"39ea8a1c6d0b61f071226eff7ede4d4105fed820","analyzedAt":"2026-08-26T03:13:46.626Z","schemaVersion":2},"datasetVersion":"2026-08-26T07:17:17.940Z"}