das.augmentation#
Waveform level augmentations.
Individual implementations of Augmentation are callables that accept
the signal to augment as an argument and return the augmented signal.
Augmentation parameters can be Constant, or random with Normal or Uniform distribution.
Random parameters will be sampled from a given distribution anew for each augmentation.
aug = Gain(gain=Normal(mean=1, std=0.5)); augmented_signal = aug(signal)
Can be configured using a yaml file: ```yaml Gain: # Name of the augmentation class
- gain: # arg for the augmentation class
- Uniform: # Param type
lower: 0.5 # param args upper: 2 # param args
- MaskNoise:
- std:
- Normal:
mean: 0 std: 0.05
- mean:
- Constant:
value: 0
- NotchFilter:
- freq: # Param-type arg
- Uniform:
lower: 100 upper: 600
Q: 30 # standard arg samplerate_Hz: 10_000 # standard arg
``` Caution: You need to add a suffix starting with ‘-’ (like “MaskNoise-1”) to the class name
if you want to use a class multiple times
augs = Augmentations.from_yaml(filename)
- class das.augmentation.Augmentation[source]#
Base class for all augmentations.
Augmentations are callables that return the augmented input. Can optionally pass through a second input.
batch_x is expected to be [batch, time, channel]. _apply works on [time, channel] inputs
- class das.augmentation.Augmentations(augmentations: List[das.augmentation.Augmentation])[source]#
Bundles several augmentations.
- Parameters
augmentations (List[Augmentation]) – List of Augmentation instances.
- class das.augmentation.CircShift(shift: das.augmentation.Param)[source]#
Circularly shift input along the first axis.
- Parameters
shift (Param) – Amount of shift, in samples.
- class das.augmentation.Constant(value: float = 0.0)[source]#
Constant parameter.
- Parameters
value (float, optional) – Constant parameter value. Defaults to 0.0.
- class das.augmentation.Gain(gain: das.augmentation.Param)[source]#
Multiply signal with gain factor.
- Parameters
gain (Param) – Gain.
- class das.augmentation.HorizontalFlip(flip: das.augmentation.Param)[source]#
Horizontally flip signal.
- Parameters
flip (Param) – Signal is flipped if >0.
- class das.augmentation.MaskMean(duration: das.augmentation.Param)[source]#
Replaces stretch of
durationsamples with mean over that stretch.- Parameters
duration (Param) – Duration of the stretch, in samples.
- class das.augmentation.MaskNoise(std: Optional[das.augmentation.Param] = None, mean: Optional[das.augmentation.Param] = None, duration: Optional[das.augmentation.Param] = None, add: bool = True)[source]#
Add noise or replace signal by noise for the full duration or a part of it.
- class das.augmentation.Normal(mean: float = 0.0, std: float = 1.0)[source]#
Normally distributed parameter.
- Parameters
mean (float, optional) – Mean of the Normal pdf. Defaults to 0.0.
std (float, optional) – Standerd deviation of the Normal pdf. Defaults to 1.0.
- class das.augmentation.NormalizePercentile(percentile: das.augmentation.Param)[source]#
Multiply signal with gain factor.
- class das.augmentation.NotchFilter(freq: das.augmentation.Param, Q: float = 30, samplerate_Hz: float = 10000)[source]#
Notch filter.
- Parameters
freq (Param) – freq to remove, in Hz.
- class das.augmentation.Offset(offset: das.augmentation.Param)[source]#
Add horizontal offset.
- Parameters
offset (Param) – Offset.
- class das.augmentation.Param[source]#
Base class for all parameters.
Parameters are callables that return parameter values.
- class das.augmentation.Uniform(lower: float = - 1.0, upper: float = 1.0)[source]#
Uniformly distributed parameter.
- Parameters
lower (float, optional) – Lower bound. Defaults to -1.0.
upper (float, optional) – Upper bound. Defaults to 1.0.
- class das.augmentation.Upsampling(factor: das.augmentation.Param)[source]#
Upsample signal.
- Parameters
factor (Param) – Upsampling factor.
- Raises
ValueError – if ‘lower’ attr of factor is <1 (would correspond to downsampling).