Spaces:
Running
on
Zero
Running
on
Zero
import importlib | |
from typing import * | |
if TYPE_CHECKING: | |
from .v1 import MoGeModel as MoGeModelV1 | |
from .v2 import MoGeModel as MoGeModelV2 | |
def import_model_class_by_version(version: str) -> Type[Union['MoGeModelV1', 'MoGeModelV2']]: | |
assert version in ['v1', 'v2'], f'Unsupported model version: {version}' | |
try: | |
module = importlib.import_module(f'.{version}', __package__) | |
except ModuleNotFoundError: | |
raise ValueError(f'Model version "{version}" not found.') | |
cls = getattr(module, 'MoGeModel') | |
return cls | |