Configuration Manager#
- class ConfigurationManager(experiment_groups: List[ExperimentGroup], categorical_features: Dict[str, List[str]], plot_settings: PlotSettings)[source]#
Manage experiment configurations and DataManager instances.
This class processes ExperimentGroup configurations and creates the minimum necessary DataManager instances, reusing them when configurations match.
- Parameters:
- experiment_groupsList[ExperimentGroup]
List of experiment group configurations to process
- categorical_featuresDict[str, List[str]]
Dictionary mapping dataset identifiers to lists of categorical feature names
- plot_settingsPlotSettings
Plot configuration settings for the experiments
- Attributes:
- experiment_groupsList[ExperimentGroup]
List of experiment group configurations
- data_managersDict[str, DataManager]
Mapping of group names to DataManager instances
- categorical_featuresDict[str, List[str]]
Mapping of dataset identifiers to categorical feature lists
- project_rootPath
Root directory of the project
- algorithm_configAlgorithmCollection
Collection of algorithm configurations loaded from algorithms.py
- base_data_managerDataManager
Base configuration for data management loaded from data.py
- experiment_queuecollections.deque
Queue of experiments ready to run
- output_structureDict[str, Dict[str, Tuple[str, str]]]
Directory structure for experiment outputs
- description_mapDict[str, str]
Mapping of group names to descriptions
- workflow_mapDict[str, Type]
Mapping of workflow names to workflow classes
- logfilestr
Markdown documentation of the configuration
Notes
The ConfigurationManager optimizes memory usage by reusing DataManager instances when experiment groups have identical data configurations. This is particularly important when running many experiments with similar data processing requirements.
Examples
- Create a configuration manager:
>>> from brisk.configuration import ConfigurationManager >>> manager = ConfigurationManager( ... experiment_groups=groups, ... categorical_features=categorical_features, ... plot_settings=plot_settings ... )