Wan2.1/wan
Stan Campbell fdbc5f0588 feat: add --vae_cpu flag for improved VRAM optimization
Add --vae_cpu argument to enable VAE offloading for consumer GPUs with
limited VRAM. When enabled, VAE initializes on CPU and moves to GPU only
when needed for encoding/decoding operations.

Key changes:
- Add --vae_cpu argument to generate.py (mirrors --t5_cpu pattern)
- Update all 4 pipelines (T2V, I2V, FLF2V, VACE) with conditional VAE offloading
- Fix DiT offloading to free VRAM before T5 loading when offload_model=True
- Handle VAE scale tensors (mean/std) during device transfers

Benefits:
- Saves ~100-200MB VRAM without performance degradation
- Enables T2V-1.3B on more consumer GPUs (tested on 11.49GB GPU)
- Backward compatible (default=False)
- Consistent with existing --t5_cpu flag

Test results on 11.49 GiB VRAM GPU:
- Baseline: OOM (needed 80MB, only 85MB free)
- With --vae_cpu: Success
- With --t5_cpu: Success
- With both flags: Success (maximum VRAM savings)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-17 03:14:28 -07:00
..
configs [feature] Add VACE (#389) 2025-05-14 20:44:25 +08:00
distributed Format the code (#402) 2025-05-16 12:35:38 +08:00
modules Format the code (#402) 2025-05-16 12:35:38 +08:00
utils Format the code (#402) 2025-05-16 12:35:38 +08:00
__init__.py Format the code (#402) 2025-05-16 12:35:38 +08:00
first_last_frame2video.py feat: add --vae_cpu flag for improved VRAM optimization 2025-10-17 03:14:28 -07:00
image2video.py feat: add --vae_cpu flag for improved VRAM optimization 2025-10-17 03:14:28 -07:00
text2video.py feat: add --vae_cpu flag for improved VRAM optimization 2025-10-17 03:14:28 -07:00
vace.py feat: add --vae_cpu flag for improved VRAM optimization 2025-10-17 03:14:28 -07:00