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)
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)
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)
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)
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