idmtools_calibra.calib_manager module#
- idmtools_calibra.calib_manager.set_parameter_sweep_callback(simulation: Simulation, param: str, value: Any) Dict[str, Any] [source]#
Convenience callback for sweeps
- Parameters:
simulation – Simulation we are updating
param – Parameter
value – Value
- Returns:
Tags to set on simulation
- class idmtools_calibra.calib_manager.SampleIndexWrapper(map_sample_to_model_input_fn)[source]#
Bases:
object
Wrapper for a SimConfigBuilder-modifying function to add metadata on sample-point index when called in a iteration over sample points
- class idmtools_calibra.calib_manager.CalibManager(task: ITask, map_sample_to_model_input_fn, sites: List[CalibSite], next_point: NextPointAlgorithm, platform: IPlatform | None = None, name: str = 'calib_test', sim_runs_per_param_set: int = 1, max_iterations: int = 5, plotters: List[BasePlotter] | None = None, map_replicates_callback=None, directory='.')[source]#
Bases:
object
Manages the creation, execution, and resumption of multi-iteration a calibration suite. Each iteration spawns a new ExperimentManager to configure and commission either local or HPC simulations for a set of random seeds, sample points, and site configurations.
- property suite_id#
- property iteration#
- run_calibration(**kwargs)[source]#
Create and run a complete multi-iteration calibration suite. kwargs supports the following optional parameters: :param resume: bool, default=False, flag required for calibration resume :param iteration: int, default=None, from which iteration to resume :param iter_step: str, default=None, from which calibration step to resume. support values: ‘commission’, ‘analyze’, plot’ and ‘next_point’ :param loop: bool, default=True, if like to continue to next iteration :param max_iterations, int, default=None, user can override the max_iterations defined in calib_manager: :param backup: bool, default=False, if like to backup Calibration.json :param dry_run: bool, default=False, if like to really execute resume action :param directory: str, default=None, calibration directory
Returns: None
- run_iterations(iteration: int = 0, max_iterations: int | None = None, loop: bool = True)[source]#
Run iterations in a loop :param iteration: the # of iterations :param max_iterations: max iterations :param loop: if or not continue iteration loop
Returns: None
- set_experiment_builder_function(exp_builder_function)[source]#
Set the experiment builder to a predefined one, such that exp_builder_func will return it :param exp_builder_function: an experiment builder object
Returns: None
- set_map_replicates_callback(map_replicates_callback)[source]#
This sets the maps replicate callback. This callback should take a value parameter that is the value of the replicate.
Normally you would want to map this to a value in the config :param map_replicates_callback:
Returns:
- default_experiment_builder_function(next_params, n_replicates: int | None = None) SimulationBuilder [source]#
Defines the function that builds the experiment for each iteration of a calibration run
- Parameters:
next_params – The next parameters to run
n_replicates – Number of replicates
- Returns:
Simulation Builder
- create_iteration_state(iteration)[source]#
Create iteration state :param iteration: the # of the iteration
Returns: created IterationState
- create_calibration()[source]#
Create the working directory for a new calibration. Cache the relevant suite-level information to allow re-initializing this instance.
- cache_calibration(**kwargs)[source]#
Cache information about the CalibManager that is needed to resume after an interruption. N.B. This is not currently the complete state, some of which relies on nested and frozen functions. As such, the ‘resume’ logic relies on the existence of the original configuration script. :param **kwargs: extra info
Returns: None
- cleanup()[source]#
Cleanup the current calibration - Delete the result directory - If LOCAL -> also delete the simulations
- property calibration_path#
- property analyzer_list#
- property required_components#