torchsig.transforms.base_transforms.Normalize

class torchsig.transforms.base_transforms.Normalize(norm: int | float | Literal['fro', 'nuc'] | None = 2, flatten: bool = False, seed: int | None = None, **kwargs)[source]

Bases: Transform

Normalize an IQ data vector.

norm

Order of the norm (refer to numpy.linalg.norm).

Type:

str

flatten

Specifies if the norm should be calculated on the flattened representation of the input tensor.

Type:

bool

Example

>>> import torchsig.transforms as ST
>>> transform = ST.Normalize(norm=2) # normalize by l2 norm
>>> transform = ST.Normalize(norm=1) # normalize by l1 norm
>>> transform = ST.Normalize(norm=2, flatten=True) # normalize by l1 norm of the 1D representation

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

Update bookeeping for signals

update_from_parent

Update numpy and torch number generators with parent seed

__init__(norm: int | float | Literal['fro', 'nuc'] | None = 2, flatten: bool = False, seed: int | None = None, **kwargs) None[source]

Transform initialization as Seedable.

__call__(signal: Signal | DatasetSignal) Signal | DatasetSignal[source]

Performs transforms

Parameters:

signal (Any) – Signal to be transformed.

Raises:

NotImplementedError – Inherited classes must override this method.

Returns:

Transformed Signal.

Return type:

Any

__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: Signal | DatasetSignal) None

Update bookeeping for signals

Parameters:

signal (Signal | DatasetSignal) – signal to update metadata.

Raises:

NotImplementedError – Inherited classes must override this method.

update_from_parent() None

Update numpy and torch number generators with parent seed