unirig-skeleton / src /model /parse.py
Sho3lan
fix: add torch-cluster; lazy-load unirig_skin (torch_scatter not needed for skeleton)
67ed300
from .unirig_ar import UniRigAR
from .spec import ModelSpec
try:
from .unirig_skin import UniRigSkin
_skin_available = True
except Exception:
UniRigSkin = None
_skin_available = False
def get_model(**kwargs) -> ModelSpec:
MAP = {'unirig_ar': UniRigAR}
if _skin_available:
MAP['unirig_skin'] = UniRigSkin
__target__ = kwargs['__target__']
del kwargs['__target__']
assert __target__ in MAP, f"expect: [{','.join(MAP.keys())}], found: {__target__}"
return MAP[__target__](**kwargs)