Source code for madminer.ml.lookup
import json
from pathlib import Path
from .ensemble import Ensemble
from .double_parameterized_ratio import DoubleParameterizedRatioEstimator
from .likelihood import LikelihoodEstimator
from .parameterized_ratio import ParameterizedRatioEstimator
from .score import ScoreEstimator
[docs]def load_estimator(filename):
if Path(filename).is_dir():
model = Ensemble()
model.load(filename)
else:
with open(f"{filename}_settings.json", "r") as f:
settings = json.load(f)
try:
estimator_type = settings["estimator_type"]
except KeyError:
raise RuntimeError("Undefined estimator type")
if estimator_type == "parameterized_ratio":
model = ParameterizedRatioEstimator()
elif estimator_type == "double_parameterized_ratio":
model = DoubleParameterizedRatioEstimator()
elif estimator_type == "score":
model = ScoreEstimator()
elif estimator_type == "likelihood":
model = LikelihoodEstimator()
else:
raise RuntimeError(f"Unknown estimator type {estimator_type}!")
model.load(filename)
return model