MCPcopy Create free account
hub / github.com/MotrixLab/insactor / Compose

Class Compose

diffplanner/datasets/pipelines/compose.py:9–42  ·  view source on GitHub ↗

Compose a data pipeline with a sequence of transforms. Args: transforms (list[dict | callable]): Either config dicts of transforms or transform objects.

Source from the content-addressed store, hash-verified

7
8@PIPELINES.register_module()
9class Compose(object):
10 """Compose a data pipeline with a sequence of transforms.
11
12 Args:
13 transforms (list[dict | callable]):
14 Either config dicts of transforms or transform objects.
15 """
16
17 def __init__(self, transforms):
18 assert isinstance(transforms, Sequence)
19 self.transforms = []
20 for transform in transforms:
21 if isinstance(transform, dict):
22 transform = build_from_cfg(transform, PIPELINES)
23 self.transforms.append(transform)
24 elif callable(transform):
25 self.transforms.append(transform)
26 else:
27 raise TypeError('transform must be callable or a dict, but got'
28 f' {type(transform)}')
29
30 def __call__(self, data):
31 for t in self.transforms:
32 data = t(data)
33 if data is None:
34 return None
35 return data
36
37 def __repr__(self):
38 format_string = self.__class__.__name__ + '('
39 for t in self.transforms:
40 format_string += f'\n {t}'
41 format_string += '\n)'
42 return format_string

Callers 1

__init__Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected