Add crossed-constraint action-aware pilot
This commit is contained in:
63
runs/action-aware-v0/action_aware_client.py
Normal file
63
runs/action-aware-v0/action_aware_client.py
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Add explicit MBBT/config provenance to the accepted Phase-6 replay client."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import json
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
PHASE6 = Path(__file__).resolve().parents[1] / "opprof-phase6"
|
||||
sys.path.insert(0, str(PHASE6))
|
||||
|
||||
import opprof_phase6_client as base # noqa: E402
|
||||
|
||||
|
||||
def parser() -> argparse.ArgumentParser:
|
||||
result = argparse.ArgumentParser()
|
||||
result.add_argument("command", choices=("warmup", "run-anchor"))
|
||||
result.add_argument("--study", required=True)
|
||||
result.add_argument("--cell", required=True)
|
||||
result.add_argument("--anchor", type=float, required=True)
|
||||
result.add_argument("--tp", type=int, required=True)
|
||||
result.add_argument("--mns", type=int, required=True)
|
||||
result.add_argument("--mbbt", type=int, required=True)
|
||||
result.add_argument("--base-url", required=True)
|
||||
result.add_argument("--result-dir", required=True)
|
||||
result.add_argument("--disable-slo-early-stop", action="store_true")
|
||||
return result
|
||||
|
||||
|
||||
def main() -> None:
|
||||
args = parser().parse_args()
|
||||
result = base.run_replay(args, warmup=args.command == "warmup")
|
||||
result.update(
|
||||
{
|
||||
"schema": "action-aware-pilot-result-v0",
|
||||
"config_id": args.cell,
|
||||
"mbbt": args.mbbt,
|
||||
}
|
||||
)
|
||||
base.atomic_json(Path(args.result_dir) / "result.json", result)
|
||||
print(
|
||||
json.dumps(
|
||||
{
|
||||
key: result[key]
|
||||
for key in (
|
||||
"config_id",
|
||||
"mns",
|
||||
"mbbt",
|
||||
"kind",
|
||||
"pass_rate",
|
||||
"feasible",
|
||||
)
|
||||
},
|
||||
sort_keys=True,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user