Example #1
0
    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)
Example #2
0
    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})
Example #3
0
    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
Example #4
0
    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': ''})
Example #5
0
    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)