Spaces:
Running
Running
from . import matchers | |
from . import readers | |
from . import evaluators | |
from . import extractors | |
def load_component(compo_name, model_name, config): | |
if compo_name == "extractor": | |
component = load_extractor(model_name, config) | |
elif compo_name == "reader": | |
component = load_reader(model_name, config) | |
elif compo_name == "matcher": | |
component = load_matcher(model_name, config) | |
elif compo_name == "evaluator": | |
component = load_evaluator(model_name, config) | |
else: | |
raise NotImplementedError | |
return component | |
def load_extractor(model_name, config): | |
if model_name == "root": | |
extractor = extractors.ExtractSIFT(config) | |
elif model_name == "sp": | |
extractor = extractors.ExtractSuperpoint(config) | |
else: | |
raise NotImplementedError | |
return extractor | |
def load_matcher(model_name, config): | |
if model_name == "SGM": | |
matcher = matchers.GNN_Matcher(config, "SGM") | |
elif model_name == "SG": | |
matcher = matchers.GNN_Matcher(config, "SG") | |
elif model_name == "NN": | |
matcher = matchers.NN_Matcher(config) | |
else: | |
raise NotImplementedError | |
return matcher | |
def load_reader(model_name, config): | |
if model_name == "standard": | |
reader = readers.standard_reader(config) | |
else: | |
raise NotImplementedError | |
return reader | |
def load_evaluator(model_name, config): | |
if model_name == "AUC": | |
evaluator = evaluators.auc_eval(config) | |
elif model_name == "FM": | |
evaluator = evaluators.FMbench_eval(config) | |
return evaluator | |