Spaces:
Running
Running
from copy import copy | |
from omegaconf import OmegaConf | |
class BaseEstimator: | |
base_default_conf = { | |
"name": "???", | |
"ransac_th": "???", | |
} | |
test_thresholds = [1.0] | |
required_data_keys = [] | |
strict_conf = False | |
def __init__(self, conf): | |
"""Perform some logic and call the _init method of the child model.""" | |
default_conf = OmegaConf.merge( | |
self.base_default_conf, OmegaConf.create(self.default_conf) | |
) | |
if self.strict_conf: | |
OmegaConf.set_struct(default_conf, True) | |
if isinstance(conf, dict): | |
conf = OmegaConf.create(conf) | |
self.conf = conf = OmegaConf.merge(default_conf, conf) | |
OmegaConf.set_readonly(conf, True) | |
OmegaConf.set_struct(conf, True) | |
self.required_data_keys = copy(self.required_data_keys) | |
self._init(conf) | |
def __call__(self, data): | |
return self._forward(data) | |