Wan2.1/wok
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
..
go.sh Add environment config and wok script, ignore symlinks 2025-10-17 01:34:41 -07:00
test1_baseline.sh feat: add --vae_cpu flag for improved VRAM optimization 2025-10-17 03:14:28 -07:00
test2_vae_cpu.sh feat: add --vae_cpu flag for improved VRAM optimization 2025-10-17 03:14:28 -07:00
test3_t5_cpu.sh feat: add --vae_cpu flag for improved VRAM optimization 2025-10-17 03:14:28 -07:00
test4_both.sh feat: add --vae_cpu flag for improved VRAM optimization 2025-10-17 03:14:28 -07:00