sdzt's picture
Add source code
33569f9 verified
Raw
History Blame Contribute Delete
1.11 kB
import os
# backbone (e.g., conv / transformer)
backbones = {}
def register_backbone(name):
def decorator(cls):
backbones[name] = cls
return cls
return decorator
# neck (e.g., FPN)
necks = {}
def register_neck(name):
def decorator(cls):
necks[name] = cls
return cls
return decorator
# location generator (point, segment, etc)
generators = {}
def register_generator(name):
def decorator(cls):
generators[name] = cls
return cls
return decorator
# meta arch (the actual implementation of each model)
meta_archs = {}
def register_meta_arch(name):
def decorator(cls):
meta_archs[name] = cls
return cls
return decorator
# builder functions
def make_backbone(name, **kwargs):
backbone = backbones[name](**kwargs)
return backbone
def make_neck(name, **kwargs):
neck = necks[name](**kwargs)
return neck
def make_meta_arch(name, **kwargs):
meta_arch = meta_archs[name](**kwargs)
return meta_arch
def make_generator(name, **kwargs):
generator = generators[name](**kwargs)
return generator