def smac_gm(self):
        clu_cs = ConfigurationSpace()
        cov_t = CategoricalHyperparameter(
            "covariance_type", ["full", "tied", "diag", "spherical"])
        tol = UniformFloatHyperparameter("tol", 1e-6, 0.1)
        reg_c = UniformFloatHyperparameter("reg_covar", 1e-10, 0.1)
        n_com = UniformIntegerHyperparameter("n_components", 2, 10)
        max_iter = UniformIntegerHyperparameter("max_iter", 10, 1000)
        clu_cs.add_hyperparameters([cov_t, tol, reg_c, n_com, max_iter])

        clu_scenario = Scenario({
            "run_obj":
            "quality",  # we optimize quality (alternatively runtime)
            # "runcount-limit": Constants.num_eval,  # maximum function evaluations
            "cs": clu_cs,  # configuration space
            "deterministic": "true",
            "tuner-timeout": constants.timeout,
            "wallclock_limit": constants.timeout,
            "cutoff_time": constants.timeout
        })
        print('Run GM SMAC ' + self.name)
        smac = SMAC(scenario=clu_scenario, tae_runner=self.run_gm)
        parameters = smac.optimize()
        value = smac.get_runhistory().get_cost(parameters)
        return value, parameters
    def smac_em(self):
        clu_cs = ConfigurationSpace()
        n_init = UniformIntegerHyperparameter("n_init", 1, 15)
        n_com = UniformIntegerHyperparameter("n_components", 2, 10)
        reg_c = UniformFloatHyperparameter("min_covar", 1e-6, 0.1)
        max_iter = UniformIntegerHyperparameter("n_iters", 10, 1000)
        tr = UniformFloatHyperparameter("threshold", 1e-6, 0.1)
        clu_cs.add_hyperparameters([n_init, tr, reg_c, n_com, max_iter])

        clu_scenario = Scenario({
            "run_obj":
            "quality",  # we optimize quality (alternatively runtime)
            # "runcount-limit": Constants.num_eval,  # maximum function evaluations
            "cs": clu_cs,  # configuration space
            "deterministic": "true",
            "tuner-timeout": constants.em_timeout,
            "wallclock_limit": constants.em_timeout,
            "cutoff_time": constants.em_timeout,
            "runcount-limit": 1
        })

        print('Run EM SMAC ' + self.name)
        smac = SMAC(scenario=clu_scenario, tae_runner=self.run_em)
        parameters = smac.optimize()
        value = smac.get_runhistory().get_cost(parameters)
        return value, parameters
Example #3
0
 def test_get_runhistory_and_trajectory(self):
     ta = ExecuteTAFuncDict(lambda x: x ** 2)
     smac = SMAC(tae_runner=ta, scenario=self.scenario)
     self.assertRaises(ValueError, smac.get_runhistory)
     self.assertRaises(ValueError, smac.get_trajectory)
     smac.trajectory = 'dummy'
     self.assertEqual(smac.get_trajectory(), 'dummy')
     smac.runhistory = 'dummy'
     self.assertEqual(smac.get_runhistory(), 'dummy')