Download microsoftexcel-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/compose.py from toto10/extensions: direct link, hf CLI and curl.
- Browser
- Download file 1.48 kB
-
https://huggingface.co/toto10/extensions/resolve/main/microsoftexcel-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/compose.py
- Command line
-
hf download hf://toto10/extensions/microsoftexcel-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/compose.py
-
curl -L -o compose.py https://huggingface.co/toto10/extensions/resolve/main/microsoftexcel-controlnet/annotator/mmpkg/mmseg/datasets/pipelines/compose.py
1.48 kB
| import collections | |
| from annotator.mmpkg.mmcv.utils import build_from_cfg | |
| from ..builder import PIPELINES | |
| class Compose(object): | |
| """Compose multiple transforms sequentially. | |
| Args: | |
| transforms (Sequence[dict | callable]): Sequence of transform object or | |
| config dict to be composed. | |
| """ | |
| def __init__(self, transforms): | |
| assert isinstance(transforms, collections.abc.Sequence) | |
| self.transforms = [] | |
| for transform in transforms: | |
| if isinstance(transform, dict): | |
| transform = build_from_cfg(transform, PIPELINES) | |
| self.transforms.append(transform) | |
| elif callable(transform): | |
| self.transforms.append(transform) | |
| else: | |
| raise TypeError('transform must be callable or a dict') | |
| def __call__(self, data): | |
| """Call function to apply transforms sequentially. | |
| Args: | |
| data (dict): A result dict contains the data to transform. | |
| Returns: | |
| dict: Transformed data. | |
| """ | |
| for t in self.transforms: | |
| data = t(data) | |
| if data is None: | |
| return None | |
| return data | |
| def __repr__(self): | |
| format_string = self.__class__.__name__ + '(' | |
| for t in self.transforms: | |
| format_string += '\n' | |
| format_string += f' {t}' | |
| format_string += '\n)' | |
| return format_string | |