def imgaug_builder(self, cfg):
        """Import a module from imgaug.
        It follows the logic of :func:`build_from_cfg`. Use a dict object to
        create an iaa.Augmenter object.
        Args:
            cfg (dict): Config dict. It should at least contain the key "type".
        Returns:
            obj:`iaa.Augmenter`: The constructed imgaug augmenter.
        """
        import imgaug.augmenters as iaa

        assert isinstance(cfg, dict) and 'type' in cfg
        args = cfg.copy()

        obj_type = args.pop('type')
        if mmcv.is_str(obj_type):
            obj_cls = getattr(iaa, obj_type) if hasattr(iaa, obj_type) \
                else getattr(iaa.pillike, obj_type)
        elif issubclass(obj_type, iaa.Augmenter):
            obj_cls = obj_type
        else:
            raise TypeError(
                f'type must be a str or valid type, but got {type(obj_type)}')

        if 'children' in args:
            args['children'] = [
                self.imgaug_builder(child) for child in args['children']
            ]

        return obj_cls(**args)
Import a module from imgaug.
        It follows the logic of :func:`build_from_cfg`. Use a dict object to
        create an iaa.Augmenter object.
        Args:
            cfg (dict): Config dict. It should at least contain the key "type".
        Returns:
            obj:`iaa.Augmenter`: The constructed imgaug augmenter.
        
EVA-01/video/datasets/pipeline.py