CarlAlbertCode commited on
Commit
5d26997
·
1 Parent(s): 0febf0f

Fix direct evaluator import path

Browse files
Files changed (1) hide show
  1. script.py +20 -3
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, timeseries, hidden_eol_times, scenarios
 
 
 
28
  ):
29
- snapshot = scenario_snapshot(daily, locs, scenario["name"], scenario["start_time"])
 
 
 
 
 
 
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()