MixUp

class torchaug.transforms.MixUp(*, alpha=1.0, num_classes, labels_getter='default')[source]

Apply MixUp to the provided batch of images and labels.

Paper: mixup: Beyond Empirical Risk Minimization.

Note

This transform is meant to be used on batches of samples, not individual images. The sample pairing is deterministic and done by matching consecutive samples in the batch, so the batch needs to be shuffled (this is an implementation detail, not a guaranteed convention.)

In the input, the labels are expected to be a tensor of shape (batch_size,). They will be transformed into a tensor of shape (batch_size, num_classes).

Parameters:
  • alpha (float, optional) – hyperparameter of the Beta distribution used for mixup. Default: 1.0

  • num_classes (int) – number of classes in the batch. Used for one-hot-encoding.

  • labels_getter (optional) – indicates how to identify the labels in the input. By default, this will pick the second parameter as the labels if it’s a tensor. This covers the most common scenario where this transform is called as MixUp()(imgs_batch, labels_batch). It can also be a callable that takes the same input as the transform, and returns the labels. Default: "default"