in syne_tune/optimizer/schedulers/searchers/gp_searcher_factory.py [0:0]
def _common_defaults(is_hyperband: bool, is_multi_output: bool) -> (Set[str], dict, dict):
mandatory = set()
default_options = {
'opt_skip_init_length': 150,
'opt_skip_period': 1,
'profiler': False,
'opt_maxiter': 50,
'opt_nstarts': 2,
'opt_warmstart': False,
'opt_verbose': False,
'opt_debug_writer': False,
'num_fantasy_samples': 20,
'scheduler': 'fifo',
'num_init_random': DEFAULT_NUM_INITIAL_RANDOM_EVALUATIONS,
'num_init_candidates': DEFAULT_NUM_INITIAL_CANDIDATES,
'initial_scoring': DEFAULT_INITIAL_SCORING,
'debug_log': True,
'cost_attr': 'elapsed_time',
'normalize_targets': True,
'no_fantasizing': False}
if is_hyperband:
default_options['model'] = 'gp_multitask'
default_options['opt_skip_num_max_resource'] = False
default_options['gp_resource_kernel'] = 'exp-decay-sum'
default_options['resource_acq'] = 'bohb'
default_options['resource_acq_bohb_threshold'] = 3
default_options['num_init_random'] = 6
default_options['issm_gamma_one'] = False
default_options['expdecay_normalize_inputs'] = False
default_options['use_new_code'] = True # DEBUG
if is_multi_output:
default_options['initial_scoring'] = 'acq_func'
default_options['exponent_cost'] = 1.0
constraints = {
'random_seed': Integer(0, 2 ** 32 - 1),
'opt_skip_init_length': Integer(0, None),
'opt_skip_period': Integer(1, None),
'profiler': Boolean(),
'opt_maxiter': Integer(1, None),
'opt_nstarts': Integer(1, None),
'opt_warmstart': Boolean(),
'opt_verbose': Boolean(),
'opt_debug_writer': Boolean(),
'num_fantasy_samples': Integer(1, None),
'num_init_random': Integer(0, None),
'num_init_candidates': Integer(5, None),
'initial_scoring': Categorical(
choices=tuple(SUPPORTED_INITIAL_SCORING)),
'debug_log': Boolean(),
'normalize_targets': Boolean()}
if is_hyperband:
constraints['model'] = Categorical(
choices=('gp_multitask', 'gp_issm', 'gp_expdecay'))
constraints['opt_skip_num_max_resource'] = Boolean()
constraints['gp_resource_kernel'] = Categorical(
choices=SUPPORTED_RESOURCE_MODELS)
constraints['resource_acq'] = Categorical(
choices=tuple(SUPPORTED_RESOURCE_FOR_ACQUISITION))
constraints['issm_gamma_one'] = Boolean()
constraints['expdecay_normalize_inputs'] = Boolean()
constraints['use_new_code'] = Boolean() # DEBUG
if is_multi_output:
constraints['initial_scoring'] = Categorical(
choices=tuple({'acq_func'}))
constraints['exponent_cost'] = Float(0.0, 1.0)
return mandatory, default_options, constraints