class Registry(object): | |
def __init__(self): | |
self.data = {} | |
def register_module(self, module_name=None): | |
def _register(cls): | |
name = module_name | |
if module_name is None: | |
name = cls.__name__ | |
self.data[name] = cls | |
return cls | |
return _register | |
def __getitem__(self, key): | |
return self.data[key] | |
BACKBONE = Registry() | |
DETECTOR = Registry() | |
TRAINER = Registry() | |
LOSSFUNC = Registry() | |