def __init__(
        self,
        transform_groups: Mapping[
            str,
            Union[None, Callable, Sequence[Union[Callable, XTransform, YTransform]]],
        ],
        current_group="train",
    ):
        """Constructor.

        :param transform_groups: A dictionary with group names (string) as keys
            and transformations (pytorch transformations) as values.
        :param current_group: the currently active group.
        """
        self.transform_groups: Dict[
            str, Union[TupleTransform, MultiParamTransform, None]
        ] = dict()
        for group, transform in transform_groups.items():
            norm_transform = _normalize_transform(transform)
            self.transform_groups[group] = norm_transform

        self.current_group = current_group

        if "train" in self.transform_groups:
            if "eval" not in self.transform_groups:
                self.transform_groups["eval"] = self.transform_groups["train"]

        if "train" not in self.transform_groups:
            self.transform_groups["train"] = None

        if "eval" not in self.transform_groups:
            self.transform_groups["eval"] = None
Constructor.

        :param transform_groups: A dictionary with group names (string) as keys
            and transformations (pytorch transformations) as values.
        :param current_group: the currently active group.
        
avalanche/benchmarks/utils/transform_groups.py