""" | |
module for base dataset transform strategies | |
""" | |
import importlib | |
import logging | |
LOG = logging.getLogger("axolotl") | |
def load(strategy, cfg, module_base=None, **kwargs): | |
try: | |
load_fn = strategy.split(".")[-1] | |
strategy = ".".join(strategy.split(".")[:-1]) | |
mod = importlib.import_module(f".{strategy}", module_base) | |
func = getattr(mod, load_fn) | |
return func(cfg, **kwargs) | |
except Exception: # pylint: disable=broad-exception-caught | |
LOG.warning(f"unable to load strategy {strategy}") | |
return None | |