def setUp(self): logging.basicConfig(level=logging.DEBUG) self.cs = ConfigurationSpace() self.cs.add_hyperparameter(CategoricalHyperparameter( name="cat_a_b", choices=["a", "b"], default_value="a")) self.cs.add_hyperparameter(UniformFloatHyperparameter( name="float_0_1", lower=0, upper=1, default_value=0.5)) self.cs.add_hyperparameter(UniformIntegerHyperparameter( name='integer_0_100', lower=-10, upper=10, default_value=0)) self.rh = runhistory.RunHistory(aggregate_func=average_cost) rs = numpy.random.RandomState(1) to_count = 0 cn_count = 0 for i in range(500): config, seed, runtime, status, instance_id = \ generate_config(cs=self.cs, rs=rs) if runtime == 40: to_count += 1 if runtime < 40 and status == StatusType.TIMEOUT: cn_count += 1 self.rh.add(config=config, cost=runtime, time=runtime, status=status, instance_id=instance_id, seed=seed, additional_info=None) print("%d TIMEOUTs, %d censored" % (to_count, cn_count)) self.scen = Scen() self.scen.run_obj = "runtime" self.scen.overall_obj = "par10" self.scen.cutoff = 40 types, bounds = get_types(self.cs, None) self.model = RandomForestWithInstances( types=types, bounds=bounds, instance_features=None, seed=1234567980)
def setUp(self): unittest.TestCase.setUp(self) self.rh = runhistory.RunHistory(aggregate_func=average_cost) self.cs = get_config_space() self.config1 = Configuration(self.cs, values={'a': 0, 'b': 100}) self.config2 = Configuration(self.cs, values={'a': 100, 'b': 0}) self.config3 = Configuration(self.cs, values={'a': 100, 'b': 100}) self.scen = Scenario({"cutoff_time": 20, 'cs': self.cs})
def get_runhistory(self, num_success, num_capped, num_timeout): cs = ConfigurationSpace() cs.add_hyperparameter( CategoricalHyperparameter(name="cat_a_b", choices=["a", "b"], default_value="a")) cs.add_hyperparameter( UniformFloatHyperparameter(name="float_0_1", lower=0, upper=1, default_value=0.5)) cs.add_hyperparameter( UniformIntegerHyperparameter(name='integer_0_100', lower=-10, upper=10, default_value=0)) rh = runhistory.RunHistory() rs = numpy.random.RandomState(1) successes = 0 capped = 0 timeouts = 0 while successes < num_success or capped < num_capped or timeouts < num_timeout: config, seed, runtime, status, instance_id = \ generate_config(cs=cs, rs=rs) if status == StatusType.SUCCESS and successes < num_success: successes += 1 add = True elif status == StatusType.TIMEOUT: if runtime < 40 and capped < num_capped: capped += 1 add = True elif runtime == 40 and timeouts < num_timeout: timeouts += 1 add = True else: add = False else: add = False if add: rh.add(config=config, cost=runtime, time=runtime, status=status, instance_id=instance_id, seed=seed, additional_info=None) return cs, rh
def setUp(self): unittest.TestCase.setUp(self) self.rh = runhistory.RunHistory(aggregate_func=average_cost) self.cs = get_config_space() self.config1 = Configuration(self.cs, values={'a': 0, 'b': 100}) self.config2 = Configuration(self.cs, values={'a': 100, 'b': 0}) self.config3 = Configuration(self.cs, values={'a': 100, 'b': 100}) self.scen = Scenario({'run_obj': 'runtime', 'cutoff_time': 20, 'cs': self.cs}) self.types, self.bounds = get_types(self.cs, None) self.scen = Scenario({'run_obj': 'runtime', 'cutoff_time': 20, 'cs': self.cs, 'output_dir': ''})
def test_add(self): ''' simply adding some rundata to runhistory ''' rh = runhistory.RunHistory() cs = get_config_space() config1 = Configuration(cs, values={'a': 1, 'b': 2}) config2 = Configuration(cs, values={'a': 1, 'b': 25}) config3 = Configuration(cs, values={'a': 2, 'b': 2}) rh.add(config=config1, cost=10, time=20, status=StatusType.SUCCESS, instance_id=23, seed=None, additional_info=None) rh.add(config=config2, cost=10, time=20, status=StatusType.SUCCESS, instance_id=1, seed=12354, additional_info={"start_time": 10}) rh.add(config=config3, cost=10, time=20, status=StatusType.TIMEOUT, instance_id=1, seed=45, additional_info={"start_time": 10}) scen = Scenario({"cutoff_time": 10}) self.assertRaises(TypeError, runhistory2epm.RunHistory2EPM4LogCost) rh2epm = runhistory2epm.RunHistory2EPM4LogCost(num_params=2, scenario=scen) rhArr = rh2epm.transform(rh)