Ejemplo n.º 1
0
bohb = BOHB(
    configspace=cs,
    run_id=hb_run_id,
    eta=3,
    min_budget=min_budget,
    max_budget=max_budget,
    nameserver=ns_host,
    nameserver_port=ns_port,
    # optimization_strategy=args.strategy,
    num_samples=args.num_samples,
    random_fraction=args.random_fraction,
    bandwidth_factor=args.bandwidth_factor,
    ping_interval=10,
    min_bandwidth=args.min_bandwidth)

results = bohb.run(args.n_iters, min_n_workers=num_workers)

bohb.shutdown(shutdown_workers=True)
NS.shutdown()
time.sleep(5)

if args.benchmark == "nas_cifar10a" or args.benchmark == "nas_cifar10b" or args.benchmark == "nas_cifar10c":
    res = b.get_results(ignore_invalid_configs=True)
else:
    res = b.get_results()

fh = open(os.path.join(output_path, 'run_%d.json' % args.run_id), 'w')
json.dump(res, fh)
fh.close()
Ejemplo n.º 2
0
def objective_function(config: dict, budget: int = 100):
    loss, cost = b.objective_function(config, int(budget))
    return float(loss)


cs = b.get_configuration_space()
HB = False
if args.optimizer == "BOHB":
    optimizer = "ETPE"
    iter_generator = HyperBandIterGenerator(min_budget=3, max_budget=100, eta=3)
    HB = True
elif args.optimizer == "HyperBand":
    optimizer = "Random"
    iter_generator = HyperBandIterGenerator(min_budget=3, max_budget=100, eta=3)
    HB = True
else:
    optimizer = args.optimizer
    iter_generator = None

fmin_result = fmin(objective_function, cs, optimizer, n_iterations=args.n_iters, random_state=args.run_id,
                   multi_fidelity_iter_generator=iter_generator)
print(fmin_result)
# dump(fmin_result, os.path.join(output_path, 'run_%d.pkl' % args.run_id))
res = b.get_results()
fh = open(os.path.join(output_path, 'run_%d.json' % args.run_id), 'w')
json.dump(res, fh)
fh.close()
if HB:
    time.sleep(5)