34 lines
964 B
Python
34 lines
964 B
Python
from federatedscope.core.cmd_args import parse_args
|
|
from fedhpobench.config import fhb_cfg, add_configs
|
|
from fedhpobench.optimizers import run_dehb, run_hpbandster, run_optuna, \
|
|
run_smac, run_grid_search
|
|
|
|
|
|
def run(cfg):
|
|
if cfg.optimizer.type in ['de', 'dehb']:
|
|
results = run_dehb(cfg)
|
|
elif cfg.optimizer.type in ['rs', 'bo_kde', 'hb', 'bohb']:
|
|
results = run_hpbandster(cfg)
|
|
elif cfg.optimizer.type in ['tpe_md', 'tpe_hb']:
|
|
results = run_optuna(cfg)
|
|
elif cfg.optimizer.type in ['bo_gp', 'bo_rf']:
|
|
results = run_smac(cfg)
|
|
elif cfg.optimizer.type in ['grid_search']:
|
|
results = run_grid_search(cfg)
|
|
else:
|
|
raise NotImplementedError
|
|
return results
|
|
|
|
|
|
def main():
|
|
init_cfg = fhb_cfg.clone()
|
|
args = parse_args()
|
|
init_cfg.merge_from_file(args.cfg_file)
|
|
init_cfg.merge_from_list(args.opts)
|
|
add_configs(init_cfg)
|
|
run(cfg=init_cfg)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|