{"record":{"id":"f8e98f27aeb6e5ef","repo":"rohitg00/ai-engineering-from-scratch","slug":"max-offset-max-offset-must-be-number-of-rows","errorCode":null,"errorMessage":"max_offset {max_offset} must be < number of rows {table.shape[0]}","messagePattern":"max_offset (.+?) must be < number of rows (.+?)","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"phases/19-capstone-projects/32-token-positional-embeddings/code/main.py","lineNumber":179,"sourceCode":"        pos = self.positional_embedding(seq_len)\n        return tok + pos.unsqueeze(0)\n\n\ndef count_parameters(module: nn.Module) -> int:\n    return sum(p.numel() for p in module.parameters() if p.requires_grad)\n\n\ndef neighbour_cosine_curve(table: torch.Tensor, max_offset: int = 8) -> list[float]:\n    \"\"\"Average cosine similarity between row p and row p+k for k in 1..max_offset.\n\n    Returns a list of length max_offset.\n    \"\"\"\n    if table.dim() != 2:\n        raise ValueError(\"table must be (L, D)\")\n    if max_offset < 1:\n        raise ValueError(f\"max_offset must be >= 1, got {max_offset}\")\n    if max_offset >= table.shape[0]:\n        raise ValueError(\n            f\"max_offset {max_offset} must be < number of rows {table.shape[0]}\"\n        )\n    rows = table.detach().to(torch.float32)\n    norms = rows.norm(dim=1, keepdim=True).clamp(min=1e-8)\n    unit = rows / norms\n    result: list[float] = []\n    for k in range(1, max_offset + 1):\n        a = unit[:-k]\n        b = unit[k:]\n        dot = (a * b).sum(dim=1).mean().item()\n        result.append(dot)\n    return result\n\n\n@dataclass\nclass DemoConfig:\n    vocab_size: int = 320\n    d_model: int = 64","sourceCodeStart":161,"sourceCodeEnd":197,"githubUrl":"https://github.com/rohitg00/ai-engineering-from-scratch/blob/39ea8a1c6d0b61f071226eff7ede4d4105fed820/phases/19-capstone-projects/32-token-positional-embeddings/code/main.py#L161-L197","documentation":"Error \"max_offset {max_offset} must be < number of rows {table.shape[0]}\" thrown in rohitg00/ai-engineering-from-scratch.","triggerScenarios":"Thrown at phases/19-capstone-projects/32-token-positional-embeddings/code/main.py:179 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"}