Ejemplo n.º 1
0
 def test_transform_callback_log(self, *_):
     parameters = [
         RangeParameter(
             name="x1",
             parameter_type=ParameterType.FLOAT,
             lower=1,
             upper=3,
             log_scale=True,
         ),
         RangeParameter(
             name="x2",
             parameter_type=ParameterType.FLOAT,
             lower=1,
             upper=3,
             log_scale=True,
         ),
     ]
     search_space = SearchSpace(parameters=parameters)
     exp = get_branin_experiment(with_batch=True, search_space=search_space)
     gpei = TorchModelBridge(
         experiment=exp,
         data=exp.fetch_data(),
         search_space=search_space,
         model=BotorchModel(),
         transforms=[Log],
         torch_dtype=torch.double,
         fit_out_of_design=True,
     )
     transformed = gpei._transform_callback([1.2, 2.5])
     self.assertTrue(np.allclose(transformed, [1.2, 2.5]))
Ejemplo n.º 2
0
 def test_transform_callback_int(self, *_):
     exp = get_branin_experiment(with_batch=True)
     data = get_branin_data(trial_indices=exp.trials)
     parameters = [
         RangeParameter(name="x1",
                        parameter_type=ParameterType.INT,
                        lower=1,
                        upper=10),
         RangeParameter(name="x2",
                        parameter_type=ParameterType.INT,
                        lower=5,
                        upper=15),
     ]
     gpei = TorchModelBridge(
         experiment=exp,
         data=data,
         search_space=SearchSpace(parameters=parameters),
         model=BotorchModel(),
         transforms=[IntToFloat],
         torch_dtype=torch.double,
         fit_out_of_design=True,
     )
     transformed = gpei._transform_callback([5.4, 7.6])
     self.assertTrue(np.allclose(transformed, [5, 8]))
     np_mb = ArrayModelBridge(
         experiment=exp,
         data=exp.fetch_data(),
         search_space=SearchSpace(parameters=parameters),
         model=NumpyModel(),
         transforms=[IntToFloat],
     )
     transformed = np_mb._transform_callback(np.array([5.4, 7.6]))
     self.assertTrue(np.allclose(transformed, [5, 8]))
Ejemplo n.º 3
0
 def test_transform_callback_int_log(self, *_):
     exp = get_branin_experiment(with_batch=True)
     parameters = [
         RangeParameter(
             name="x1",
             parameter_type=ParameterType.INT,
             lower=1,
             upper=100,
             log_scale=True,
         ),
         RangeParameter(
             name="x2",
             parameter_type=ParameterType.INT,
             lower=1,
             upper=100,
             log_scale=True,
         ),
     ]
     gpei = TorchModelBridge(
         experiment=exp,
         data=exp.fetch_data(),
         search_space=SearchSpace(parameters=parameters),
         model=BotorchModel(),
         transforms=[IntToFloat, Log],
         torch_dtype=torch.double,
         fit_out_of_design=True,
     )
     transformed = gpei._transform_callback([0.5, 1.5])
     self.assertTrue(np.allclose(transformed, [0.47712, 1.50515]))
Ejemplo n.º 4
0
 def test_transform_callback_unitx(self, *_):
     exp = get_branin_experiment(with_batch=True)
     parameters = [
         RangeParameter(name="x1",
                        parameter_type=ParameterType.FLOAT,
                        lower=0,
                        upper=10),
         RangeParameter(name="x2",
                        parameter_type=ParameterType.FLOAT,
                        lower=0,
                        upper=100),
     ]
     gpei = TorchModelBridge(
         experiment=exp,
         data=exp.fetch_data(),
         search_space=SearchSpace(parameters=parameters),
         model=BotorchModel(),
         transforms=[UnitX],
     )
     transformed = gpei._transform_callback([0.75, 0.35])
     self.assertTrue(np.allclose(transformed, [0.75, 0.35]))
Ejemplo n.º 5
0
 def test_transform_callback_int(self, _):
     exp = get_branin_experiment()
     parameters = [
         RangeParameter(name="x1",
                        parameter_type=ParameterType.INT,
                        lower=1,
                        upper=10),
         RangeParameter(name="x2",
                        parameter_type=ParameterType.INT,
                        lower=5,
                        upper=15),
     ]
     gpei = TorchModelBridge(
         experiment=exp,
         data=exp.fetch_data(),
         search_space=SearchSpace(parameters=parameters),
         model=BotorchModel(),
         transforms=[IntToFloat],
         torch_dtype=torch.double,
     )
     transformed = gpei._transform_callback([5.4, 7.6])
     self.assertTrue(np.allclose(transformed, [5, 8]))