Source code for lm_polygraph.utils.common

import logging
import importlib.util

from typing import Tuple

log = logging.getLogger("lm_polygraph")


[docs]def polygraph_module_init(func): def wrapper(*args, **kwargs): if func.__name__ == "__init__": log.info(f"Initializing {args[0].__class__.__name__}") func(*args, **kwargs) return wrapper
[docs]def seq_man_key(metric_name: str) -> Tuple[str, str]: """Convert metric name to format of seq-level name format of saved manager archive.""" return ("sequence", metric_name)
[docs]def load_external_module(path_to_file: str): """Load external module from file and return it.""" spec = importlib.util.spec_from_file_location("external_module", path_to_file) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) return module