Luo-Yihong/TDM_CogVideoX-2B_LoRA

Luo-Yihong
Texto a video

Adaptador LoRA para CogVideoX-2B basado en TDM (Trajectory Distribution Matching), orientado a generación rápida de video a partir de texto con muy pocos pasos de difusión. El modelo aplica la técnica del artículo “Learning Few-Step Diffusion Models by Trajectory Distribution Matching” para reducir la inferencia de CogVideoX-2B a 4 NFE, buscando mantener la calidad visual mientras acelera la generación de videos.

Como usar

Instalación y uso básico con Diffusers:

pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import export_to_video

# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("THUDM/CogVideoX-2b", dtype=torch.bfloat16, device_map="cuda")
pipe.load_lora_weights("Luo-Yihong/TDM_CogVideoX-2B_LoRA")

prompt = "A man with short gray hair plays a red electric guitar."
output = pipe(prompt=prompt).frames[0]
export_to_video(output, "output.mp4")

Ejemplo específico de TDM-CogVideoX-2B-LoRA:

import torch
from diffusers import CogVideoXPipeline
from diffusers.utils import export_to_video

pipe = CogVideoXPipeline.from_pretrained("THUDM/CogVideoX-2b", torch_dtype=torch.float16)
pipe.vae.enable_slicing() # Save memory
pipe.vae.enable_tiling() # Save memory
pipe.load_lora_weights("Luo-Yihong/TDM_CogVideoX-2B_LoRA")
pipe.to("cuda")

prompt = (
    "A panda, dressed in a small, red jacket and a tiny hat, sits on a wooden stool in a serene bamboo forest. The "
    "panda's fluffy paws strum a miniature acoustic guitar, producing soft, melodic tunes. Nearby, a few other "
    "pandas gather, watching curiously and some clapping in rhythm. Sunlight filters through the tall bamboo, "
    "casting a gentle glow on the scene. The panda's face is expressive, showing concentration and joy as it plays. "
    "The background includes a small, flowing stream and vibrant green foliage, enhancing the peaceful and magical "
    "atmosphere of this unique musical performance")

# We train the generator on timesteps [999, 856, 665, 399].
# The official scheduler of CogVideo-X using uniform spacing, may cause inferior results.
# But TDM-LoRA still works well under 4 NFE.
# We will update the TDM-CogVideoX-LoRA soon for better performance!
generator = torch.manual_seed(8888)
frames = pipe(prompt, guidance_scale=1, num_inference_steps=4, num_frames=49, generator = generator).frames[0]
export_to_video(frames, "output-TDM.mp4", fps=8)

Funcionalidades

Generación texto-a-video sobre el modelo base THUDM/CogVideoX-2b.
Adaptador LoRA entrenado con TDM para inferencia de pocos pasos.
Uso recomendado con Diffusers y CogVideoXPipeline.
Ejemplo oficial con 4 pasos de inferencia, 49 fotogramas y exportación a MP4 a 8 fps.
Licencia Apache 2.0.
Relacionado con el paper arXiv 2503.06674, publicado el 9 de marzo de 2025.

Casos de uso

Crear videos cortos desde prompts de texto con menor latencia que CogVideoX-2B estándar.
Probar inferencia de video con solo 4 pasos de difusión en flujos experimentales o de investigación.
Comparar generación texto-a-video de muchos pasos frente a destilación TDM de pocos pasos.
Integrar CogVideoX-2B con pesos LoRA para demos locales de generación rápida de video.