Self-Forcing / model /__init__.py
Cccccz's picture
Add files using upload-large-folder tool
d5e0d8f verified
Raw
History Blame Contribute Delete
1.08 kB
"""Public model exports loaded on demand.
Lazy imports preserve the existing ``from model import DMD`` API while avoiding
the model/pipeline cycle introduced by the standalone Predictor module.
"""
from __future__ import annotations
from importlib import import_module
_EXPORTS = {
"CausalDiffusion": ("model.diffusion", "CausalDiffusion"),
"CausVid": ("model.causvid", "CausVid"),
"DMD": ("model.dmd", "DMD"),
"GAN": ("model.gan", "GAN"),
"SiD": ("model.sid", "SiD"),
"ODERegression": ("model.ode_regression", "ODERegression"),
"SelfForcingPredictorV4": (
"model.predictor_v4",
"SelfForcingPredictorV4",
),
"TripleFeatureFusion": ("model.predictor_v4", "TripleFeatureFusion"),
"WanPredictorV4Config": ("model.predictor_v4", "WanPredictorV4Config"),
}
__all__ = list(_EXPORTS)
def __getattr__(name: str):
if name not in _EXPORTS:
raise AttributeError(name)
module_name, attribute = _EXPORTS[name]
value = getattr(import_module(module_name), attribute)
globals()[name] = value
return value