torchsig.transforms.base_transforms.RandAugment

class torchsig.transforms.base_transforms.RandAugment(transforms: list[Transform], choose: int = 2, replace: bool = False, **kwargs)[source]

Bases: Transform

RandAugment transform loosely based on: `”RandAugment: Practical automated data augmentation with a reduced search space”

This transform randomly selects and applies a subset of transforms from a list.

transforms

List of Transforms to choose from.

choose

Number of Transforms to randomly choose. Defaults to 2.

replace

Allow replacement in random choose. Defaults to False.

Methods

add_parent

Add parent Seedable object and set up RNGs accordingly.

get_distribution

Create distribution function with proper seeding.

get_second_seed

Gets second seed, usually used to seed both torch and numpy generators with slightly different seeds.

seed

Seed number generators with given seed.

setup_rngs

Initialize torch and numpy number generators, and update its children.

update_from_parent

Update numpy and torch number generators with parent seed.

__init__(transforms: list[Transform], choose: int = 2, replace: bool = False, **kwargs)[source]

Initialize the RandAugment transform.

Parameters:
  • transforms – List of Transforms to choose from.

  • choose – Number of Transforms to randomly choose. Defaults to 2.

  • replace – Allow replacement in random choose. Defaults to False.

  • **kwargs – Additional keyword arguments passed to the parent class.

__call__(signal: Signal) Signal[source]

Apply a random subset of transforms to the signal.

Parameters:

signal – Signal to be transformed.

Returns:

Transformed signal after applying the randomly chosen transforms.

__repr__() str

Transform string representation.

Should be able to recreate class from this string.

Returns:

Transform representation.

__str__() str

String representation of the transform.

Returns:

String representation of the transform.

add_parent(parent: Seedable) None

Add parent Seedable object and set up RNGs accordingly.

Parameters:

parent – Parent Seedable object to add.

get_distribution(params: list | tuple | float, scaling: str = 'linear') Distribution

Create distribution function with proper seeding.

Parameters:
  • params – Parameters for distribution.

  • scaling – Scaling param for distribution. Defaults to ‘linear’.

Returns:

Distribution function, seeded.

Return type:

Distribution

get_second_seed(seed: int) int

Gets second seed, usually used to seed both torch and numpy generators with slightly different seeds.

Parameters:

seed – Seed to use.

Returns:

New seed.

seed(seed: int) None

Seed number generators with given seed.

Parameters:

seed – Seed to use.

setup_rngs() None

Initialize torch and numpy number generators, and update its children.

update_from_parent() None

Update numpy and torch number generators with parent seed.