def open_log(log_paths): for L in log_paths: try: ax_client = AxClient.load_from_json_file(filepath=L) break except IOError: ax_client = None return ax_client
def initialize(filepath='ax_client_snapshot.json'): ax_client = AxClient(verbose_logging=False) try: ax_client = ax_client.load_from_json_file(filepath=filepath) except: logging.warning("COULD NOT LOAD CURRENT EXPERIMENT. STARTING NEW..") ax_client.create_experiment( name="hypertune_simulation", parameters=parameters, objective_name="valid/hitrate", outcome_constraints=["test/loglik <= 10000"]) return ax_client
# for i in range(25): # parameters, trial_index = ax_client.get_next_trial() # # Local evaluation here can be replaced with deployment to external system. # ax_client.complete_trial(trial_index=trial_index, raw_data=evaluate(parameters)) # # _, trial_index = ax_client.get_next_trial() # ax_client.log_trial_failure(trial_index=trial_index) # # ax_client.get_trials_data_frame().sort_values('trial_index') # best_parameters, values = ax_client.get_best_parameters() from ax.utils.notebook.plotting import render, init_notebook_plotting from ax.plot.contour import plot_contour plot = plot_contour( model=gpei, param_x=opt_list[0], param_y=opt_list[1], metric_name="base", ) render(plot) ax_client.generation_strategy.model = gpei init_notebook_plotting(offline=True) # render(ax_client.get_contour_plot()) render(ax_client.get_contour_plot(param_x=opt_list[0], param_y=opt_list[0])) #, metric_name=base)) # render(ax_client.get_optimization_trace(objective_optimum=hartmann6.fmin)) # Objective_optimum is optional. ax_client.save_to_json_file() # For custom filepath, pass `filepath` argument. restored_ax_client = AxClient.load_from_json_file( ) # For custom filepath, pass `filepath` argument.