Commit ·
5d26997
1
Parent(s): 0febf0f
Fix direct evaluator import path
Browse files
script.py
CHANGED
|
@@ -1,8 +1,12 @@
|
|
| 1 |
from __future__ import annotations
|
| 2 |
|
| 3 |
import os
|
|
|
|
| 4 |
from pathlib import Path
|
| 5 |
|
|
|
|
|
|
|
|
|
|
| 6 |
import joblib
|
| 7 |
import pandas as pd
|
| 8 |
from batteryswap_public.utils import iterate_scenarios, load_dataset
|
|
@@ -17,16 +21,27 @@ def main() -> None:
|
|
| 17 |
)
|
| 18 |
splits = os.environ.get("BATTERYSWAP_SPLITS", "public,private").split(",")
|
| 19 |
output_path = Path(os.environ.get("BATTERYSWAP_SUBMISSION_PATH", "submission.csv"))
|
|
|
|
| 20 |
planner = joblib.load(artifact_path)
|
| 21 |
|
| 22 |
plans = []
|
| 23 |
for split in splits:
|
| 24 |
locations, timeseries, hidden_eol_times, scenarios = load_dataset(dataset_path / split)
|
| 25 |
daily = build_daily_features(timeseries)
|
|
|
|
| 26 |
for scenario, locs, _, _ in iterate_scenarios(
|
| 27 |
-
locations,
|
|
|
|
|
|
|
|
|
|
| 28 |
):
|
| 29 |
-
snapshot = scenario_snapshot(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
plan = planner.plan_snapshot(
|
| 31 |
snapshot,
|
| 32 |
locs,
|
|
@@ -34,15 +49,17 @@ def main() -> None:
|
|
| 34 |
scenario["settings"],
|
| 35 |
scenario["start_time"],
|
| 36 |
)
|
|
|
|
| 37 |
plan["split"] = split
|
| 38 |
plan["scenario"] = scenario["name"]
|
| 39 |
plans.append(plan)
|
| 40 |
|
| 41 |
submission = pd.concat(plans, ignore_index=True)
|
| 42 |
submission.to_csv(output_path, index=False)
|
|
|
|
| 43 |
if not output_path.exists():
|
| 44 |
raise RuntimeError(f"Submission was not created: {output_path}")
|
| 45 |
|
| 46 |
|
| 47 |
if __name__ == "__main__":
|
| 48 |
-
main()
|
|
|
|
| 1 |
from __future__ import annotations
|
| 2 |
|
| 3 |
import os
|
| 4 |
+
import sys
|
| 5 |
from pathlib import Path
|
| 6 |
|
| 7 |
+
# Makes the local src package available when the evaluator runs script.py directly.
|
| 8 |
+
sys.path.insert(0, str(Path(__file__).resolve().parent / "src"))
|
| 9 |
+
|
| 10 |
import joblib
|
| 11 |
import pandas as pd
|
| 12 |
from batteryswap_public.utils import iterate_scenarios, load_dataset
|
|
|
|
| 21 |
)
|
| 22 |
splits = os.environ.get("BATTERYSWAP_SPLITS", "public,private").split(",")
|
| 23 |
output_path = Path(os.environ.get("BATTERYSWAP_SUBMISSION_PATH", "submission.csv"))
|
| 24 |
+
|
| 25 |
planner = joblib.load(artifact_path)
|
| 26 |
|
| 27 |
plans = []
|
| 28 |
for split in splits:
|
| 29 |
locations, timeseries, hidden_eol_times, scenarios = load_dataset(dataset_path / split)
|
| 30 |
daily = build_daily_features(timeseries)
|
| 31 |
+
|
| 32 |
for scenario, locs, _, _ in iterate_scenarios(
|
| 33 |
+
locations,
|
| 34 |
+
timeseries,
|
| 35 |
+
hidden_eol_times,
|
| 36 |
+
scenarios,
|
| 37 |
):
|
| 38 |
+
snapshot = scenario_snapshot(
|
| 39 |
+
daily,
|
| 40 |
+
locs,
|
| 41 |
+
scenario["name"],
|
| 42 |
+
scenario["start_time"],
|
| 43 |
+
)
|
| 44 |
+
|
| 45 |
plan = planner.plan_snapshot(
|
| 46 |
snapshot,
|
| 47 |
locs,
|
|
|
|
| 49 |
scenario["settings"],
|
| 50 |
scenario["start_time"],
|
| 51 |
)
|
| 52 |
+
|
| 53 |
plan["split"] = split
|
| 54 |
plan["scenario"] = scenario["name"]
|
| 55 |
plans.append(plan)
|
| 56 |
|
| 57 |
submission = pd.concat(plans, ignore_index=True)
|
| 58 |
submission.to_csv(output_path, index=False)
|
| 59 |
+
|
| 60 |
if not output_path.exists():
|
| 61 |
raise RuntimeError(f"Submission was not created: {output_path}")
|
| 62 |
|
| 63 |
|
| 64 |
if __name__ == "__main__":
|
| 65 |
+
main()
|