lamamkh's picture
Upload folder using huggingface_hub
e992d9f verified
Raw
History Blame Contribute Delete
2.2 kB
# model name to class mapping
from acwm.model.dit.dit import DiT
from acwm.model.dit.dit_wrapper import DiTWrapper
from acwm.model.dit.shortcut_dit import ShortcutDiT
from acwm.model.tokenizer.wan_tokenizer import WanVAEWrapper, WanVAEPerFrameWrapper
DIT_CLASS_MAP = {
'VideoDiT': DiT,
'DiTWrapper': DiTWrapper,
'ShortcutDiT': ShortcutDiT,
}
VAE_CLASS_MAP = {
'WanVAE': WanVAEWrapper,
'WanVAEPerFrame': WanVAEPerFrameWrapper, # WanVAE per-frame: T_latent = T_pixel, no temporal compression
# SDVAE removed for Space (needs diffusers) # SD-VAE per-frame: 4ch, 8x spatial, T_latent = T_pixel
'FluxVAE': lambda *args, **kwargs: _load_flux_vae(*args, **kwargs),
}
def _load_flux_vae(*args, **kwargs):
import os
from acwm.model.tokenizer.flux_vae import FluxVAEWrapper
# Allow FLUX_VAE_DEBUG=1 to skip real download (useful on nodes without internet)
if os.environ.get("FLUX_VAE_DEBUG", "0") == "1":
return FluxVAEWrapper(debug_mode=True)
try:
return FluxVAEWrapper(*args, **kwargs)
except Exception as e:
print(f"[FluxVAE] Failed to load real weights ({e}), falling back to debug stub.")
return FluxVAEWrapper(debug_mode=True)
def get_dynamics_class(name):
if name == 'Bidirectional_FullTrajectory':
from acwm.dynamics.bi_fulltrajectory import Bidirectional_FullTrajectory
return Bidirectional_FullTrajectory
elif name == 'DiffusionForcing_WM':
from acwm.dynamics.diffusion_forcing_wm import DiffusionForcing_WM
return DiffusionForcing_WM
elif name == 'PixelVideoDiffusion_WM':
# Pixel-space (VAE-free) diffusion-forcing world model; spatial downsample
# folded into the DiT patchify. See acwm/dynamics/pixel_wm.py.
from acwm.dynamics.pixel_wm import PixelVideoDiffusion_WM
return PixelVideoDiffusion_WM
elif name == 'ShortcutForcing_WM':
# Autoregressive shortcut-forcing world model (Dreamer4). See acwm/dynamics/shortcut_forcing_wm.py.
from acwm.dynamics.shortcut_forcing_wm import ShortcutForcing_WM
return ShortcutForcing_WM
raise ValueError(f"Unknown dynamics class: {name}")