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 | |