File size: 1,706 Bytes
a86d0a0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5999aa9
 
 
 
 
a86d0a0
 
5999aa9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a86d0a0
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/usr/bin/env python
from __future__ import annotations

import argparse
import sys
from pathlib import Path

PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
    sys.path.insert(0, str(PROJECT_ROOT))

from scripts.eval_metrics import main as eval_metrics_main  # noqa: E402


def main(argv: list[str] | None = None) -> int:
    parser = argparse.ArgumentParser(
        description=(
            "Evaluate CTT generated candidates after they have been rolled out. "
            "This wrapper intentionally accepts measured candidate rows only; "
            "use scripts/eval_ctt_proxy.py for distance-only support geometry."
        )
    )
    parser.add_argument("--measured-candidates", type=Path, required=True)
    parser.add_argument("--out-dir", type=Path, required=True)
    parser.add_argument("--k", type=int, default=16)
    parser.add_argument("--epsilon", type=float, default=0.0)
    parser.add_argument("--bootstrap-samples", type=int, default=1000)
    parser.add_argument(
        "--no-markdown-report",
        action="store_true",
        help="Do not write report.md in the metric output directory.",
    )
    args = parser.parse_args(argv)

    forwarded = [
        "--input",
        str(args.measured_candidates),
        "--out-dir",
        str(args.out_dir),
        "--mode",
        "measured",
        "--k",
        str(args.k),
        "--epsilon",
        str(args.epsilon),
        "--bootstrap-samples",
        str(args.bootstrap_samples),
    ]
    if args.no_markdown_report:
        forwarded.append("--no-markdown-report")
    return eval_metrics_main(forwarded)


if __name__ == "__main__":
    raise SystemExit(main())