Transform Composite#

composite #

CLASS DESCRIPTION
CompositeTransformer

Combine multiple transformers in sequence.

Classes#

CompositeTransformer(*transformers: Transformer) #

Bases: Transformer

Combine multiple transformers in sequence.

Arguments

transformers : tuple of Transformer Transformers to apply in sequence.

Examples:

>>> from spectre.transform import StandardizationTransformer, L2Normalizer
>>> composite = CompositeTransformer(
    StandardizationTransformer(mean, std),
    L2Normalizer(),
)
>>> composite.transform(X)
METHOD DESCRIPTION
transform

Sequentially apply transformers.

inverse_transform

Inverse transform.

Source code in spectre/transform/composite.py
def __init__(self, *transformers: Transformer):
    super().__init__()
    self.transformers = torch.nn.ModuleList(transformers)
Functions#
transform(X: torch.Tensor) -> torch.Tensor #

Sequentially apply transformers.

PARAMETER DESCRIPTION
X

Input data to normalize.

TYPE: Tensor

RETURNS DESCRIPTION
Tensor

Transformed data.

Source code in spectre/transform/composite.py
def transform(self, X: torch.Tensor) -> torch.Tensor:
    """
    Sequentially apply transformers.

    Parameters
    ----------
    X : torch.Tensor
        Input data to normalize.

    Returns
    -------
    torch.Tensor
        Transformed data.
    """
    for transformer in self.transformers:
        X = transformer.transform(X)
    return X
inverse_transform(X: torch.Tensor) -> torch.Tensor #

Inverse transform.

PARAMETER DESCRIPTION
X

Normalized input data.

TYPE: Tensor

RETURNS DESCRIPTION
Tensor

Inverse transformed data.

Source code in spectre/transform/composite.py
def inverse_transform(self, X: torch.Tensor) -> torch.Tensor:
    """
    Inverse transform.

    Parameters
    ----------
    X : torch.Tensor
        Normalized input data.

    Returns
    -------
    torch.Tensor
        Inverse transformed data.
    """
    for transformer in reversed(self.transformers):
        X = transformer.inverse_transform(X)
    return X