torchsig.transforms.dataset_transforms.SpectrogramDropSamples

class torchsig.transforms.dataset_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: DatasetTransform

Randomly drop samples from the input data of specified durations and with specified 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]).

Type:

int, float, list, tuple

drop_rate_distribution

Random draw from drop_rate distribution.

Type:

Callable[[], float]

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]).

Type:

int, float, list, tuple

size_distribution

Random draw from size distribution.

Type:

Callable[[], int]

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.

Type:

list, str

fill_distribution

Random draw from fill distribution.

Type:

Callable[[], float]

Methods

add_parent

Add parent Seedable object and set up RNGs accordingly

get_distribution

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

Updates bookkeeping to transforms in DatasetSignal's SignalMetadata and checks signal valididty.

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]

Transform initialization as Seedable.

__call__(signal: DatasetSignal) DatasetSignal[source]

Performs transforms.

Parameters:

signal (DatasetSignal) – DatasetSignal to be transformed.

Raises:

NotImplementedError – Inherited classes must override this method.

Returns:

Transformed DatasetSignal.

Return type:

DatasetSignal

__repr__() str

Transform string representation. Should be able to recreate class from this string.

Returns:

Transform representation.

Return type:

str

__str__() str

Return str(self).

add_parent(parent) None

Add parent Seedable object and set up RNGs accordingly

get_second_seed(seed: int) int

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

Parameters:

seed (int) – Seed to use.

Returns:

New seed.

Return type:

int

seed(seed: int) None

Seed number generators with given seed.

Parameters:

seed (int) – Seed to use.

setup_rngs() None

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

update(signal: DatasetSignal) None

Updates bookkeeping to transforms in DatasetSignal’s SignalMetadata and checks signal valididty. Inherited classes should always call self.update() after performing transform operation (inside __call__).

Parameters:

signal (DatasetSignal) – transformed DatasetSignal.

update_from_parent() None

Update numpy and torch number generators with parent seed