torchsig.transforms.metadata_transforms.MetadataTransform¶
- class torchsig.transforms.metadata_transforms.MetadataTransform(required_metadata: list[str] = [], **kwargs)[source]¶
Bases:
TransformBase class for metadata transforms.
This class defines the basic structure of a metadata transform, which includes: - The ability to validate metadata before applying the transform. - A method for applying the transform on signal metadata. - A callable interface to apply the transform to a list of signal metadata.
- required_metadata¶
List of metadata fields required for applying the target transform.
- __validate(metadata)¶
Validates the signal metadata before applying the transform.
- __apply(metadata)¶
Applies the target transform to the metadata. Should be overridden by subclasses.
- __str__()¶
Returns the string representation of the transform.
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__(required_metadata: list[str] = [], **kwargs) None[source]¶
Initialize the MetadataTransform.
- Parameters:
required_metadata – List of metadata fields required for applying the target transform.
**kwargs – Additional keyword arguments passed to the parent class.
- __call__(signal: Signal) Signal[source]¶
Applies the target transform to a list of signal metadata.
- Parameters:
signal – The signal to transform.
- Returns:
The transformed signal.
- __repr__() str[source]¶
Returns a detailed string representation of the transform object.
- Returns:
A string representation of the transform object.
- __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: