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:
SignalTransformRandomly 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 Seedable object and set up RNGs accordingly.
Create distribution function with proper seeding.
Gets second seed, usually used to seed both torch and numpy generators with slightly different seeds.
Seed number generators with given seed.
Initialize torch and numpy number generators, and update its children.
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: