Spaces:
Running
Running
| from __future__ import annotations | |
| import argparse | |
| import json | |
| import sys | |
| from pathlib import Path | |
| ROOT = Path(__file__).resolve().parents[1] | |
| sys.path.insert(0, str(ROOT / "src")) | |
| from inferscale.validation import validate_cases # noqa: E402 | |
| def main() -> None: | |
| parser = argparse.ArgumentParser(description="Validate InferScale predictions against external measured cases") | |
| parser.add_argument("input", type=Path, help="JSON file containing a list of validation cases") | |
| parser.add_argument("--output", type=Path, help="Optional JSON report path") | |
| args = parser.parse_args() | |
| payload = json.loads(args.input.read_text()) | |
| cases = payload if isinstance(payload, list) else payload.get("cases", []) | |
| report = validate_cases(cases) | |
| text = json.dumps(report, indent=2) | |
| if args.output: | |
| args.output.write_text(text + "\n") | |
| print(text) | |
| if __name__ == "__main__": | |
| main() | |