Source code for ezflow.decoder.build

from ..utils import Registry

DECODER_REGISTRY = Registry("DECODER")


[docs]def build_decoder(cfg_grp=None, name=None, instantiate=True, **kwargs): """ Build a decoder from a registered decoder name. Parameters ---------- cfg_grp : CfgNode Config to pass to the decoder. name : str Name of the registered decoder. instantiate : bool Whether to instantiate the decoder. Returns ------- decoder : object The decoder object. """ if cfg_grp is None: assert name is not None, "Must provide name or cfg_grp" assert dict(**kwargs) is not None, "Must provide either cfg_grp or kwargs" if name is None: name = cfg_grp.NAME decoder = DECODER_REGISTRY.get(name) if not instantiate: return decoder if cfg_grp is None: return decoder(**kwargs) return decoder(cfg_grp, **kwargs)