Spaces:
Running
on
Zero
Running
on
Zero
File size: 1,109 Bytes
f499d3b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
from dataclasses import dataclass
from .michelangelo.get_model import get_encoder as get_encoder_michelangelo
from .michelangelo.get_model import AlignedShapeLatentPerceiver
from .michelangelo.get_model import get_encoder_simplified as get_encoder_michelangelo_encoder
from .michelangelo.get_model import ShapeAsLatentPerceiverEncoder
from .pointcept.models.PTv3Object import get_encoder as get_encoder_ptv3obj
from .pointcept.models.PTv3Object import PointTransformerV3Object
@dataclass(frozen=True)
class _MAP_MESH_ENCODER:
ptv3obj = PointTransformerV3Object
michelangelo = AlignedShapeLatentPerceiver
michelangelo_encoder = ShapeAsLatentPerceiverEncoder
MAP_MESH_ENCODER = _MAP_MESH_ENCODER()
def get_mesh_encoder(**kwargs):
MAP = {
'ptv3obj': get_encoder_ptv3obj,
'michelangelo': get_encoder_michelangelo,
'michelangelo_encoder': get_encoder_michelangelo_encoder,
}
__target__ = kwargs['__target__']
del kwargs['__target__']
assert __target__ in MAP, f"expect: [{','.join(MAP.keys())}], found: {__target__}"
return MAP[__target__](**kwargs) |