Exemple #1
0
    def get_suggestions(self, iteration_config=None):
        """Return a list of suggestions based on random search.

        Params:
            matrix: `dict` representing the {hyperparam: hyperparam matrix config}.
            n_suggestions: number of suggestions to make.
        """
        matrix = self.hptuning_config.matrix
        n_suggestions = self.hptuning_config.random_search.n_experiments
        seed = self.hptuning_config.seed
        return get_random_suggestions(matrix=matrix, n_suggestions=n_suggestions, seed=seed)
Exemple #2
0
    def get_suggestions(self, iteration_config=None):
        """Return a list of suggestions based on random search.

        Params:
            matrix: `dict` representing the {hyperparam: hyperparam matrix config}.
            n_suggestions: number of suggestions to make.
        """
        matrix = self.hptuning_config.matrix
        n_suggestions = self.hptuning_config.random_search.n_experiments
        seed = self.hptuning_config.seed
        return get_random_suggestions(matrix=matrix,
                                      n_suggestions=n_suggestions,
                                      seed=seed)
Exemple #3
0
 def get_suggestions(self, iteration_config=None):
     """Return a list of suggestions/arms based on hyperband."""
     if not iteration_config or not isinstance(iteration_config, HyperbandIterationConfig):
         raise ValueError('Hyperband get suggestions requires an iteration.')
     bracket = self.get_bracket(iteration=iteration_config.iteration)
     n_configs = self.get_n_configs(bracket=bracket)
     n_resources = self.get_n_resources_for_iteration(
         iteration=iteration_config.iteration,
         bracket_iteration=iteration_config.bracket_iteration)
     n_resources = self.params_config.hyperband.resource.cast_value(n_resources)
     suggestion_params = {
         self.params_config.hyperband.resource.name: n_resources
     }
     return get_random_suggestions(matrix=self.params_config.matrix,
                                   n_suggestions=n_configs,
                                   suggestion_params=suggestion_params,
                                   seed=self.params_config.seed)
Exemple #4
0
 def get_suggestions(self, iteration_config=None):
     """Return a list of suggestions/arms based on hyperband."""
     if not iteration_config or not isinstance(iteration_config, HyperbandIterationConfig):
         raise ValueError('Hyperband get suggestions requires an iteration.')
     bracket = self.get_bracket(iteration=iteration_config.iteration)
     n_configs = self.get_n_configs(bracket=bracket)
     n_resources = self.get_n_resources_for_iteration(
         iteration=iteration_config.iteration,
         bracket_iteration=iteration_config.bracket_iteration)
     n_resources = self.hptuning_config.hyperband.resource.cast_value(n_resources)
     suggestion_params = {
         self.hptuning_config.hyperband.resource.name: n_resources
     }
     return get_random_suggestions(matrix=self.hptuning_config.matrix,
                                   n_suggestions=n_configs,
                                   suggestion_params=suggestion_params,
                                   seed=self.hptuning_config.seed)
Exemple #5
0
 def get_suggestions(self, iteration_config=None):
     if not iteration_config:
         return get_random_suggestions(matrix=self.hptuning_config.matrix,
                                       n_suggestions=self.n_initial_trials,
                                       seed=self.hptuning_config.seed)
     # Use the iteration_config to construct observed point and metrics
     experiments_configs = dict(
         iteration_config.combined_experiments_configs)
     experiments_metrics = dict(
         iteration_config.combined_experiments_metrics)
     configs = []
     metrics = []
     for key in experiments_metrics.keys():
         configs.append(experiments_configs[key])
         metrics.append(experiments_metrics[key])
     optimizer = BOOptimizer(hptuning_config=self.hptuning_config)
     optimizer.add_observations(configs=configs, metrics=metrics)
     suggestion = optimizer.get_suggestion()
     return [suggestion] if suggestion else None