Skip to content

Commit e13f023

Browse files
committed
feat: cache index of configs automatically instead of generating
1 parent b4cf7ab commit e13f023

33 files changed

Lines changed: 2127 additions & 918 deletions

carps/analysis/calc_hypervolume.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ def apply_calc_hv_low_mem(logs: pd.DataFrame, on_key: str = "trial_value__cost")
337337

338338
def _save_group_to_filesystem(group: pd.DataFrame, input_directory: Path) -> pd.DataFrame:
339339
group_id = group[run_id].iloc[0].to_list()
340-
gdf_fn = input_directory / f"{'_'.join([str(g) for g in group_id]).replace('/','_')}.parquet"
340+
gdf_fn = input_directory / f"{'_'.join([str(g) for g in group_id]).replace('/', '_')}.parquet"
341341
if gdf_fn.is_file():
342342
return gdf_fn
343343
gdf_fn.parent.mkdir(parents=True, exist_ok=True)

carps/analysis/gather_data.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
from carps.utils.task import Task
2626
from carps.utils.trials import TrialInfo
2727
from carps.utils.types import RunStatus
28+
from carps.utils.index_configs import get_index_config
2829

2930
if TYPE_CHECKING:
3031
from carps.objective_functions.objective_function import ObjectiveFunction
@@ -404,9 +405,7 @@ def maybe_postadd_task(logs: pd.DataFrame, overwrite: bool = False) -> pd.DataFr
404405
logger.debug("No task_id in logs. Can't add task info.")
405406
return logs
406407
index_fn = Path(__file__).parent.parent / "configs/task/index.csv"
407-
if not index_fn.is_file():
408-
raise ValueError("ObjectiveFunction ids have not been indexed. Run `python -m carps.utils.index_configs`.")
409-
task_index = pd.read_csv(index_fn)
408+
task_index = get_index_config(index_fn)
410409

411410
new_logs = []
412411
for gid, gdf in logs.groupby(by=["task_id", "seed"]):

carps/analysis/generate_report.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -631,9 +631,7 @@ def plot_performance_per_task(
631631
_annotate_heatmap(ax0, mesh, {"fontsize": 8}, ".6g", annot_data)
632632

633633
title = get_figure_title(groupers, gid)
634-
ax0.set_title(
635-
f"Final Performance per Task for {title}\n" "Annotations: Raw Values, Colormap: Normalized Values"
636-
)
634+
ax0.set_title(f"Final Performance per Task for {title}\nAnnotations: Raw Values, Colormap: Normalized Values")
637635

638636
ax0.set_title(f"Final Performance per Task for {title}")
639637
ax0.text(

carps/analysis/process_data.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from omegaconf import DictConfig, ListConfig, OmegaConf
1111

1212
from carps.utils.loggingutils import get_logger, setup_logging
13+
from carps.utils.index_configs import get_index_config
1314

1415
setup_logging()
1516
logger = get_logger(__file__)
@@ -69,9 +70,7 @@ def maybe_postadd_task(logs: pd.DataFrame) -> pd.DataFrame:
6970
Logs with task columns.
7071
"""
7172
index_fn = Path(__file__).parent.parent / "configs/task/index.csv"
72-
if not index_fn.is_file():
73-
raise ValueError("Task ids have not been indexed. Run `python -m carps.utils.index_configs`.")
74-
task_index = pd.read_csv(index_fn)
73+
task_index = get_index_config(index_fn)
7574

7675
def load_task_cfg(task_id: str) -> DictConfig:
7776
config_fn = task_index["config_fn"][task_index["task_id"] == task_id].iloc[0]

0 commit comments

Comments
 (0)