{"record":{"id":"69c9b65fa537a88e","repo":"rohitg00/ai-engineering-from-scratch","slug":"k-k-not-in-1-n-n","errorCode":null,"errorMessage":"k {k} not in [1, N={n}]","messagePattern":"k (.+?) not in \\[1, N=(.+?)\\]","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"phases/19-capstone-projects/63-multimodal-eval/code/main.py","lineNumber":86,"sourceCode":"\n\n@dataclass\nclass EvalSuite:\n    retrieval: list[RetrievalPair]\n    vqa: list[VQATriple]\n    caps: list[CaptionSample]\n\n\ndef recall_at_k(sim: torch.Tensor, k: int) -> tuple[float, float]:\n    \"\"\"Return (i2t, t2i) recall@k.\n\n    sim is (N, N) where row i is the similarity of image i to every caption.\n    \"\"\"\n    if sim.dim() != 2 or sim.shape[0] != sim.shape[1]:\n        raise ValueError(f\"sim must be square (N, N), got {tuple(sim.shape)}\")\n    n = sim.shape[0]\n    if k < 1 or k > n:\n        raise ValueError(f\"k {k} not in [1, N={n}]\")\n\n    targets = torch.arange(n, device=sim.device)\n\n    topk_i2t = sim.topk(k, dim=1).indices\n    hits_i2t = (topk_i2t == targets.unsqueeze(1)).any(dim=1).float().mean().item()\n\n    sim_t = sim.T\n    topk_t2i = sim_t.topk(k, dim=1).indices\n    hits_t2i = (topk_t2i == targets.unsqueeze(1)).any(dim=1).float().mean().item()\n\n    return hits_i2t, hits_t2i\n\n\ndef vqa_exact_match(predictions: list[int], references: list[int]) -> float:\n    if len(predictions) != len(references):\n        raise ValueError(f\"length mismatch: pred {len(predictions)} vs ref {len(references)}\")\n    if not predictions:\n        return 0.0","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/rohitg00/ai-engineering-from-scratch/blob/39ea8a1c6d0b61f071226eff7ede4d4105fed820/phases/19-capstone-projects/63-multimodal-eval/code/main.py#L68-L104","documentation":"Error \"k {k} not in [1, N={n}]\" thrown in rohitg00/ai-engineering-from-scratch.","triggerScenarios":"Thrown at phases/19-capstone-projects/63-multimodal-eval/code/main.py:86 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"}