def test_load_with_params(): config = { "type": "bolero.optimizer.CMAESOptimizer", "variance": 10.0, "n_samples_per_update": 10 } optimizer = from_dict(config) assert_true(isinstance(optimizer, CMAESOptimizer)) assert_equal(optimizer.variance, 10.0) assert_equal(optimizer.n_samples_per_update, 10)
def test_load_cpp_lib(): opt = from_dict({"Optimizer": {"type": "pso_optimizer"}})["Optimizer"] assert_true(hasattr(opt, "get_next_parameters"))
def test_load_tuple(): opt_config = {"type": "bolero.optimizer.CMAESOptimizer"} config = {"optimizers": (opt_config, opt_config)} result = from_dict(config) assert_true(isinstance(result["optimizers"][0], CMAESOptimizer)) assert_true(isinstance(result["optimizers"][1], CMAESOptimizer))
def test_load_missing_type(): config = {"key": "value"} config2 = from_dict(config) assert_equal(config, config2)
def test_load_explicit_package(): config = {"package": "bolero.optimizer", "type": "CMAESOptimizer"} optimizer = from_dict(config) assert_true(isinstance(optimizer, CMAESOptimizer))
""" ======================= Load Module from Config ======================= In bolero, we can load modules (optimizers, behavior search methods, behaviors, environments) either from configuration dictionaries or from YAML files. This example shows how we can load an optimizer from a configuration dictionary. """ print(__doc__) from bolero.utils import from_dict config = { "type": "bolero.optimizer.CMAESOptimizer", "variance": 10.0, } optimizer = from_dict(config) optimizer.init(2) params = [0, 0] optimizer.get_next_parameters(params) print(params)