CutOut#
- class composer.algorithms.CutOut(num_holes=1, length=0.5, uniform_sampling=False, input_key=0)[source]#
CutOut is a data augmentation technique that works by masking out one or more square regions of an input image.
This implementation cuts out the same square from all images in a batch.
Example
from composer.algorithms import CutOut from composer.trainer import Trainer cutout_algorithm = CutOut(num_holes=1, length=0.25) trainer = Trainer( model=model, train_dataloader=train_dataloader, eval_dataloader=eval_dataloader, max_duration="1ep", algorithms=[cutout_algorithm], optimizers=[optimizer] )
- Parameters
num_holes (int, optional) โ Integer number of holes to cut out. Default:
1
.length (float, optional) โ Relative side length of the masked region. If specified,
length
is interpreted as a fraction ofH
andW
, and the resulting box is a square with side lengthlength * min(H, W)
. Must be in the interval \((0, 1)\). Default:0.5
.uniform_sampling (bool, optional) โ If
True
, sample the bounding box such that each pixel has an equal probability of being masked. IfFalse
, defaults to the sampling used in the original paper implementation. Default:False
.input_key (str | int | Tuple[Callable, Callable] | Any, optional) โ A key that indexes to the input from the batch. Can also be a pair of get and set functions, where the getter is assumed to be first in the pair. The default is 0, which corresponds to any sequence, where the first element is the input. Default:
0
.