autoemulate.emulators.ensemble#

class Ensemble(emulators=None, jitter=0.0001, device=None)[source]#

Bases: GaussianEmulator

Ensemble emulator that aggregates multiple Emulator instances to provide UQ.

Ensemble emulator that aggregates multiple Emulator instances and returns a GaussianLike representing the ensemble posterior. Note that an Emulator instance may also be an Ensemble itself.

static is_multioutput()[source]#

Ensemble supports multi-output.

static get_tune_params()[source]#

Return a dictionary of hyperparameters to tune.

class EnsembleMLP(x, y, standardize_x=True, standardize_y=True, n_emulators=4, device=None, **mlp_kwargs)[source]#

Bases: Ensemble

Ensemble of MLP emulators.

This class is an ensemble of MLP emulators, each initialized with the same input and output data.

static is_multioutput()[source]#

Ensemble of MLPs supports multi-output.

static get_tune_params()[source]#

Return a dictionary of hyperparameters to tune.

class DropoutEnsemble(model, standardize_x=True, standardize_y=True, n_samples=20, jitter=0.0001, device=None)[source]#

Bases: GaussianEmulator, TorchDeviceMixin

Monte-Carlo Dropout ensemble.

DropoutEnsemble does a number of forward passes with dropout on, and computes mean and epistemic covariance across them.

static is_multioutput()[source]#

DropoutEnsemble supports multi-output.

static get_tune_params()[source]#

Return a dictionary of hyperparameters to tune.

class EnsembleMLPDropout(x, y, standardize_x=True, standardize_y=True, dropout_prob=0.2, device=None, **mlp_kwargs)[source]#

Bases: DropoutEnsemble

Ensemble of MLP emulators with dropout.

static get_tune_params()[source]#

Return a dictionary of hyperparameters to tune.