synthesized_programs = int(out.decode("utf-8")) print(synthesized_programs) return synthesized_programs domainMax = None try: domainMax = int(os.environ['DOMAIN_MAX']) acquisition_type = os.environ['ACQUISITION'] except KeyError: domainMax = 2 if domainMax is None else domainMax acquisition_type = 'EI' domain = [{ 'name': "var-" + gadget, 'type': 'discrete', 'domain': tuple(range(0, domainMax)) } for gadget in vocab] print(domain, acquisition_type) myBopt = BayesianOptimization(f, domain, maximize=True, exact_feval=True, acquisition_optimizer_type='lbfgs', acquisition_type=acquisition_type) myBopt.run_optimization(max_iter=35) myBopt.save_report("report") myBopt.save_evaluations("evals") myBopt.plot_convergence("convergence.png")
Y_init = np.reshape(np.array(array_y), (-1, 1)) for ind, cost in enumerate(array_cost): list_sampled_x.append(array_sampled_x[ind, :]) list_y.append(array_y[ind]) list_cost.append(array_cost[ind]) max_iter = max_iter_ - len(list_y) obj_count = len(list_y) - 1 myBO = BayesianOptimization(f=obj_val, domain=domain, constraints=constraints, X=X_init, Y=Y_init, initial_design_numdata=initial_design_numdata, initial_design_type='latin', acquisition_type=acq, maximize=is_max) myBO.run_optimization(max_iter=max_iter) myBO.save_report(report_file=txt_path + '_report.txt') myBO.save_evaluations(evaluations_file=txt_path + '_evaluations.txt') myBO.save_models(txt_path + '_models.txt') result = { 'sampled_x': np.array(list_sampled_x), 'observed_y': np.array(list_y), 'cost': np.array(list_cost), 'random_seeds': random_seeds } with open(txt_path + '_result.txt', "w") as file: file.write(str(result)) with open(txt_path + '_result.pickle', "wb") as file: pickle.dump(result, file)
def trained_val_score(parameters): parameters = parameters[0] print("The current parameters are: ", str(np.around(parameters[0], decimals=6)) + ' ', str(np.around(parameters[1], decimals=6)) + ' ', str(np.around(parameters[2], decimals=6)) + ' ', str(int(parameters[3]))) siamese_net = build_siamese_net(parameters[0], parameters[1], parameters[2]) score = train_siamese_net(siamese_net, int(parameters[3])) SAVE_PATH = MODELS_DIR + '/model' + '_' + \ str(np.around(parameters[0], decimals=6)) + '_' + \ str(np.around(parameters[1], decimals=6)) + '_' + \ str(np.around(parameters[2], decimals=6)) + '_' + \ str(int(parameters[3])) + '_' + \ 'score_' + str(score) + '.h5' siamese_net.save(SAVE_PATH) K.clear_session() return score optimizer = BayesianOptimization(f=trained_val_score, domain=bds, model_type='GP', initial_design_numdata=10, acquisition_type='EI', maximize=True) optimizer.run_optimization(max_iter=args.max_iter) optimizer.save_report(report_file=MODELS_DIR + '/optimization_report')