Shortcuts

Source code for torcheeg.transforms.any.compose

from typing import Callable, List

from ..base_transform import BaseTransform


[docs]class Compose(BaseTransform): r''' Compose several transforms together. Consistent with :obj:`torchvision.transforms.Compose`'s behavior. .. code-block:: python from torcheeg import transforms t = transforms.Compose([ transforms.ToTensor(), transforms.Resize(size=(64, 64)), transforms.RandomNoise(p=0.1), transforms.RandomMask(p=0.1) ]) t(eeg=torch.randn(128, 9, 9))['eeg'].shape >>> (128, 64, 64) :obj:`Compose` supports transformers with different data dependencies. The above example combines multiple torch-based transformers, the following example shows a sequence of numpy-based transformer. .. code-block:: python from torcheeg import transforms t = transforms.Compose([ transforms.BandDifferentialEntropy(), transforms.MeanStdNormalize(), transforms.ToGrid(DEAP_CHANNEL_LOCATION_DICT) ]) t(eeg=np.random.randn(32, 128))['eeg'].shape >>> (128, 9, 9) Args: transforms (list): The list of transforms to compose. .. automethod:: __call__ ''' def __init__(self, transforms: List[Callable]): super(Compose, self).__init__() self.transforms = transforms
[docs] def __call__(self, *args, **kwargs) -> any: r''' Args: x (any): The input. Returns: any: The transformed output. ''' if args: raise KeyError("Please pass data as named parameters.") for t in self.transforms: kwargs = t(**kwargs) return kwargs
def __repr__(self) -> str: format_string = self.__class__.__name__ + '(' for i, t in enumerate(self.transforms): if i: format_string += ',' format_string += '\n' format_string += f' {t}' format_string += '\n)' return format_string
Read the Docs v: latest
Versions
latest
stable
v1.1.2
v1.1.1
v1.1.0
v1.0.11
v1.0.10
v1.0.9
v1.0.8.post1
v1.0.8
v1.0.7
v1.0.6
v1.0.4
v1.0.3
v1.0.2
v1.0.1
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources