VGGBaseline#

class torch_uncertainty.baselines.classification.VGGBaseline(num_classes, in_channels, loss, version, arch, style='imagenet', num_estimators=1, dropout_rate=0.0, last_layer_dropout=False, optim_recipe=None, mixup_params=None, groups=1, alpha=None, gamma=1, ood_criterion='msp', log_plots=False, save_in_csv=False, eval_ood=False, eval_shift=False, eval_grouping_loss=False)[source]#

VGG backbone baseline for classification providing support for various versions and architectures.

Parameters:
  • num_classes (int) – Number of classes to predict.

  • in_channels (int) – Number of input channels.

  • loss (nn.Module) – Training loss.

  • optim_recipe (Any) – optimization recipe, corresponds to what expect the LightningModule.configure_optimizers() method.

  • version (str) –

    Determines which VGG version to use:

    • "std": original VGG

    • "mc-dropout": Monte Carlo Dropout VGG

    • "packed": Packed-Ensembles VGG

  • arch (int) –

    Determines which VGG architecture to use:

    • 11: VGG-11

    • 13: VGG-13

    • 16: VGG-16

    • 19: VGG-19

  • style (str, optional) – Which VGG style to use. Defaults to imagenet.

  • num_estimators (int, optional) – Number of estimators in the ensemble. Only used if version is either "packed", "batched" or "masked" Defaults to None.

  • dropout_rate (float, optional) – Dropout rate. Defaults to 0.0.

  • mixup_params (dict, optional) – Mixup parameters. Can include mixtype, mixmode, dist_sim, kernel_tau_max, kernel_tau_std, mixup_alpha, and cutmix_alpha. If None, no augmentations. Defaults to None.

  • last_layer_dropout (bool) – whether to apply dropout to the last layer only.

  • groups (int, optional) – Number of groups in convolutions. Defaults to 1.

  • alpha (float, optional) – Expansion factor affecting the width of the estimators. Only used if version is "packed". Defaults to None.

  • gamma (int, optional) – Number of groups within each estimator. Only used if version is "packed" and scales with groups. Defaults to 1s.

  • ood_criterion (TUOODCriterion, optional) – Criterion for the binary OOD detection task. Defaults to None which amounts to the maximum softmax probability score (MSP).

  • log_plots (bool, optional) – Indicates whether to log the plots or not. Defaults to False.

  • save_in_csv (bool, optional) – Indicates whether to save the results in a csv file or not. Defaults to False.

  • eval_ood (bool, optional) – Indicates whether to evaluate the OOD detection or not. Defaults to False.

  • eval_shift (bool) – Whether to evaluate on shifted data. Defaults to False.

  • eval_grouping_loss (bool, optional) – Indicates whether to evaluate the grouping loss or not. Defaults to False.

Raises:

ValueError – If version is not either "std", "packed", "batched" or "masked".

Returns:

VGG baseline ready for training and evaluation.

Return type:

LightningModule