Skip to content

Diversity

Utilities for building ensembles out of a single stochastic network.

MC Dropout Ensembler

bensemble.diversity.dropout.MCDropoutEnsembler

MCDropoutEnsembler(model: Module)

Wrapper for building Monte Carlo Dropout ensembles from trained models.

Initializes the MCDropoutEnsembler.

Parameters:

Name Type Description Default
model Module

Neural network model containing dropout layers.

required
Source code in bensemble/diversity/dropout.py
def __init__(self, model: nn.Module):
    """Initializes the MCDropoutEnsembler.

    Args:
        model: Neural network model containing dropout layers.
    """
    self.model = model

build_ensemble

build_ensemble(num_samples: int = 30) -> Ensemble

Builds an Ensemble module utilizing MC Dropout forward passes.

Parameters:

Name Type Description Default
num_samples int

Number of stochastic forward passes per prediction. Defaults to 30.

30

Returns:

Name Type Description
Ensemble Ensemble

Ensemble instance wrapping the stochastic model.

Source code in bensemble/diversity/dropout.py
def build_ensemble(self, num_samples: int = 30) -> Ensemble:
    """Builds an Ensemble module utilizing MC Dropout forward passes.

    Args:
        num_samples: Number of stochastic forward passes per prediction. Defaults to 30.

    Returns:
        Ensemble: Ensemble instance wrapping the stochastic model.
    """
    return Ensemble.from_stochastic(
        self.model, num_samples=num_samples, mode="dropout"
    )