pdmlabs.mango#

class pdmlabs.mango.MetaTuner(param_dict_list, objective_list, **kwargs)#

Bases: object

class Config(n_iter: int = 20, n_init: int = 2)#

Bases: object

n_init: int = 2#
n_iter: int = 20#
static calculateDomainSize(param_dict)#

Calculating the domain size to be explored for finding optimum of bayesian optimizer

get_max_y_value(Y_dict_array)#
run()#
runExponentialTuner()#

Steps: 1-Create DS obj for each obj of param_dict_list 2-Sample randomly from the DS objects and evaluate the objective functions. 3- Now use the GPR for each objective to select next batch 4- Select the best values based on fxn(surrogate) from GPR. 5- Modify the surrogate selections so as to avoid getting struck.

class pdmlabs.mango.Tuner(param_dict, objective, conf_dict=None)#

Bases: object

class Config(domain_size: int = None, initial_random: int = 2, initial_custom: list = None, num_iteration: int = 20, batch_size: int = 1, optimizer: str = 'Bayesian', parallel_strategy: str = 'clustering', surrogate: object = None, alpha: float = 2.0, exploration: float = 1.0, exploration_decay: float = 0.9, exploration_min: float = 0.1, fixed_domain: bool = False, early_stopping: Callable = None, constraint: Callable = None)#

Bases: object

alpha: float = 2.0#
batch_size: int = 1#
constraint: Callable = None#
domain_size: int = None#
early_stop(results)#
early_stopping: Callable = None#
exploration: float = 1.0#
exploration_decay: float = 0.9#
exploration_min: float = 0.1#
fixed_domain: bool = False#
initial_custom: list = None#
initial_random: int = 2#
property is_bayesian#
property is_random#
num_iteration: int = 20#
optimizer: str = 'Bayesian'#
parallel_strategy: str = 'clustering'#
property strategy_is_clustering#
property strategy_is_penalty#
surrogate: object = None#
valid_optimizers = ['Bayesian', 'Random']#
valid_parallel_strategies = ['penalty', 'clustering']#
static calculateDomainSize(param_dict)#

Calculating the domain size to be explored for finding optimum of bayesian optimizer

maximize()#
minimize()#
process_initial_custom()#
run()#
runBayesianOptimizer()#
runRandomOptimizer()#
runUserObjective(X_next_PS)#
run_initial()#

Modules

domain

metatuner

Meta Tuner Class: Used to optimize across a set of models: - selecting intelligently the order of functions to optimize Current implementation: Bare Metal functionality for testing.

optimizer

scheduler

tuner

Main Tuner Class which uses other abstractions.