csle_agents.agents.bayesian_optimization_emukit package
Subpackages
- csle_agents.agents.bayesian_optimization_emukit.bo package
- Subpackages
- Submodules
- csle_agents.agents.bayesian_optimization_emukit.bo.bo_config module
- csle_agents.agents.bayesian_optimization_emukit.bo.bo_results module
- Module contents
Submodules
csle_agents.agents.bayesian_optimization_emukit.bayes_opt_emukit_agent module
- class csle_agents.agents.bayesian_optimization_emukit.bayes_opt_emukit_agent.BayesOptEmukitAgent(simulation_env_config: SimulationEnvConfig, emulation_env_config: Union[None, EmulationEnvConfig], experiment_config: ExperimentConfig, env: Optional[BaseEnv] = None, training_job: Optional[TrainingJobConfig] = None, save_to_metastore: bool = True)[source]
Bases:
BaseAgent
Bayesian Optimization Agent based on the EmuKit framework
- bayesian_optimization(exp_result: ExperimentResult, seed: int, training_job: TrainingJobConfig, random_seeds: List[int]) ExperimentResult [source]
Runs the Bayesian Optimization algorithm
- Parameters
exp_result – the experiment result object to store the result
seed – the seed
training_job – the training job config
random_seeds – list of seeds
- Returns
the updated experiment result and the trained policy
- static compute_avg_metrics(metrics: Dict[str, List[Union[float, int]]]) Dict[str, Union[float, int]] [source]
Computes the average metrics of a dict with aggregated metrics
- Parameters
metrics – the dict with the aggregated metrics
- Returns
the average metrics
- eval_theta(policy: Union[MultiThresholdStoppingPolicy, LinearThresholdStoppingPolicy], max_steps: int = 200) Dict[str, Any] [source]
Evaluates a given threshold policy by running monte-carlo simulations
- Parameters
policy – the policy to evaluate
- Returns
the average metrics of the evaluation
- get_policy(theta: List[float], L: int) Union[MultiThresholdStoppingPolicy, LinearThresholdStoppingPolicy] [source]
Utility method for getting the policy of a given parameter vector
- Parameters
theta – the parameter vector
L – the number of parameters
- Returns
the policy
- static get_theta_vector_from_param_dict(param_dict: Dict[str, float]) List[float] [source]
Extracts the theta vector from the parameter dict
- Parameters
param_dict – the parameter dict
- Returns
the theta vector
- static initial_theta(L: int) ndarray[Any, dtype[Any]] [source]
Initializes theta randomly
- Parameters
L – the dimension of theta
- Returns
the initialized theta vector
- static round_vec(vec) List[float] [source]
Rounds a vector to 3 decimals
- Parameters
vec – the vector to round
- Returns
the rounded vector
- train() ExperimentExecution [source]
Performs the policy training for the given random seeds using Bayesian Optimization
- Returns
the training metrics and the trained policies
- static update_metrics(metrics: Dict[str, List[Union[float, int]]], info: Dict[str, Union[float, int]]) Dict[str, List[Union[float, int]]] [source]
Update a dict with aggregated metrics using new information from the environment
- Parameters
metrics – the dict with the aggregated metrics
info – the new information
- Returns
the updated dict