File size: 555 Bytes
201ab98 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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
|