AxClientGenerator#

class optimas.generators.AxClientGenerator(ax_client, analyzed_parameters=None, abandon_failed_trials=True, gpu_id=0, dedicated_resources=False, save_model=True, model_save_period=5, model_history_dir='model_history')#

Bayesian optimization generator with a user-defined AxClient.

This generator allows the user to provide a custom AxClient, allowing for maximum control of the optimization.

For this generator there is no need to provide the list of varying_parameters or objectives. The generator will obtain these parameters directly from the AxClient.

Parameters:
ax_clientAxClient

The Ax client from which the trials will be generated.

analyzed_parameterslist of Parameter, optional

List of parameters to analyze at each trial, but which are not optimization objectives. By default None.

abandon_failed_trialsbool, optional

Whether failed trials should be abandoned (i.e., not suggested again). By default, True.

gpu_idint, optional

The ID of the GPU in which to run the generator. By default, 0. This parameter will only have an effect if any GenerationStep in the AxClient uses a GPU.

dedicated_resourcesbool, optional

Whether to allocated dedicated resources (e.g., the GPU) for the generator. These resources will not be available to the simulation workers. By default, False. This parameter will only have an effect if any GenerationStep in the AxClient uses a GPU.

save_modelbool, optional

Whether to save the optimization model (in this case, the Ax client) to disk. By default True.

model_save_periodint, optional

Periodicity, in number of evaluated Trials, with which to save the model to disk. By default, 5.

model_history_dirstr, optional

Name of the directory in which the model will be saved. By default, 'model_history'.

Notes

If the AxClient contains outcome_constraints, these will appear in the optimas log as optimization objectives. They are still being correctly used as constraints by the AxClient, and the optimization will work as expected. This is only an issue on optimas, which fails to properly recognize them because optimization constraints have not yet been implemented.

Methods

ask_trials(n_trials)

Ask the generator to suggest the next n_trials to evaluate.

attach_trials(trial_data[, ...])

Manually add a list of trials to the generator.

get_gen_specs(sim_workers, run_params, max_evals)

Get the libEnsemble gen_specs.

get_libe_specs()

Get the libEnsemble libe_specs.

get_trial(trial_index)

Get trial by index.

ignore_trials(trials)

Ignore trials as determined by the generator.

incorporate_history(history)

Incorporate past history into the generator.

ingest(results)

Send the results of evaluations to the generator.

mark_trial_as_failed(trial_index)

Mark an already evaluated trial as failed.

save_model_to_file()

Save model to file.

suggest(num_points)

Request the next set of points to evaluate.

tell_trials(trials[, allow_saving_model])

Give trials back to generator once they have been evaluated.

update_parameter(parameter)

Update a varying parameter of the generator.

Attributes

analyzed_parameters

Get the list of analyzed parameters.

ax_client

Get the underlying AxClient.

constraints

Get the list of constraints.

dedicated_resources

Get whether the generator has dedicated resources allocated.

gpu_id

Get the ID of the GPU used by the generator.

model

Get access to the underlying model using an AxModelManager.

n_completed_trials

Get the number of successfully evaluated trials.

n_evaluated_trials

Get the number of evaluated trials.

n_failed_trials

Get the number of unsuccessfully evaluated trials.

n_given_trials

Get the number of trials given for evaluation.

n_queued_trials

Get the number of trials queued for evaluation.

objectives

Get the list of objectives.

use_cuda

Get whether the generator can use CUDA.

varying_parameters

Get the list of varying parameters.