FS-TFP/benchmark/FedHPOBench/fedhpobench/utils/runner.py

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