torchsig.transforms.transforms.SpectrogramDropSamples

class torchsig.transforms.transforms.SpectrogramDropSamples(drop_rate=(0.001, 0.005), size=(1, 10), fill: list[str] = ['ffill', 'bfill', 'mean', 'zero', 'low', 'min', 'max', 'ones'], **kwargs)[source]

Bases: SignalTransform

Randomly drop samples from the input data of specified durations and with specified fill techniques.

Supported Fill Techniques:
  • ffill (front fill): replace drop samples with the last previous value

  • bfill (back fill): replace drop samples with the next value

  • mean: replace drop samples with the mean value of the full data

  • zero: replace drop samples with zeros

  • low: replace drop samples with low power samples

  • min: replace drop samples with the minimum of the absolute power

  • max: replace drop samples with the maximum of the absolute power

  • ones: replace drop samples with ones

Transform is based off of the TSAug Dropout Transform.

drop_rate

drop_rate sets the rate at which to drop samples * If int or float, drop_rate is fixed at the value provided. * If list, drop_rate is any element in the list. * If tuple, drop_rate is in range of (tuple[0], tuple[1]).

drop_rate_distribution

Random draw from drop_rate distribution.

size

size sets the size of each instance of dropped samples * If int or float, size is fixed at the value provided. * If list, size is any element in the list. * If tuple, size is in range of (tuple[0], tuple[1]).

size_distribution

Random draw from size distribution.

fill

fill sets the method of how the dropped samples should be filled * If list, fill is any element in the list. * If str, fill is fixed at the method provided.

fill_distribution

Random draw from fill distribution.

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__(drop_rate=(0.001, 0.005), size=(1, 10), fill: list[str] = ['ffill', 'bfill', 'mean', 'zero', 'low', 'min', 'max', 'ones'], **kwargs) None[source]

Initialize the SpectrogramDropSamples transform.

Parameters:
  • drop_rate – drop_rate sets the rate at which to drop samples. Defaults to (0.001, 0.005).

  • size – size sets the size of each instance of dropped samples. Defaults to (1, 10).

  • fill – fill sets the method of how the dropped samples should be filled. Defaults to [“ffill”, “bfill”, “mean”, “zero”, “low”, “min”, “max”, “ones”].

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

__call__(signal: Signal) Signal

Validates signal, performs transform, updates bookeeping, (optionally) enforces data type.

Parameters:

signal – Signal to be transformed.

Returns:

Transformed signal.

__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, register: bool = True) None

Add parent Seedable object and set up RNGs accordingly.

Parameters:
  • parent – Parent Seedable object to add.

  • register – If True (default), add self to parent.children so that future seed propagation reaches this object. Pass False for transient objects (e.g. per-sample Signal instances) that only need the parent link for metadata/RNG access during their lifetime but must not accumulate in the parent’s child list, which would otherwise cause unbounded memory growth.

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.