Isotr0py
3affc7766d
Enable VAE tiling for Qwen-Image-2.1 (#5)
* init
Signed-off-by: Isotr0py <mozf@inferact.ai>
* fix
Signed-off-by: Isotr0py <mozf@inferact.ai>
* test(diffusion): add Qwen-Image-2.1 unit tests
Signed-off-by: Isotr0py <mozf@inferact.ai>
* fix(diffusion): Qwen-Image-2.1 VAE spatial ratio, tiling e2e verification
- AutoencoderKLQwenImage21: derive spatial_compression_ratio from the
architecture (2 ** len(temperal_downsample) = 16x) instead of trusting
the checkpoint's scale_factor_spatial=8, which corrupted tiled
decode/encode geometry (output cropped to half size) and tiling gating.
- pipeline: _read_vae_scale_factor prefers the architecture-derived value
for the same reason.
- models/qwen_image_21/__init__: lazy exports to break the circular import
distributed VAE -> package __init__ -> pipeline -> distributed VAE.
- Add VAE unit tests: ratio derivation, tiled vs untiled decode/encode
consistency, distributed tile_split/exec/merge == tiled_decode.
- e2e matrix (GB200, seed 42, 20 steps) all green; see e2e_out/qwen21_vae/.
- examples: qwen_image_21_edit.py gains --vae-use-tiling.
- docs: mark VAE patch-parallel verified for Qwen-Image-2.1; recipe notes
the default-tile banding limitation at 2048px+.
* clean tests
Signed-off-by: Isotr0py <mozf@inferact.ai>
* fix cudnn determination
Signed-off-by: Isotr0py <mozf@inferact.ai>
---------
Signed-off-by: Isotr0py <mozf@inferact.ai>
2026-09-18 10:02:50 +08:00
..
2026-09-10 12:08:28 +08:00
2026-09-05 15:32:30 +08:00
2026-09-10 12:08:28 +08:00
2026-09-18 10:02:50 +08:00
2026-09-06 05:40:09 +08:00
2026-09-06 16:23:30 +08:00
2026-09-07 11:40:04 +08:00
2026-09-10 12:08:28 +08:00
2026-09-16 15:14:23 +08:00
2026-09-08 10:08:38 -06:00
2026-09-18 10:02:50 +08:00
2026-09-09 08:17:38 +08:00
2026-04-17 19:19:34 +08:00
2026-07-03 04:32:22 +00:00
2026-08-14 15:45:55 +08:00
2026-09-07 15:58:19 +08:00
2026-09-08 07:41:13 +08:00
2026-09-08 18:58:38 -07:00
2025-11-28 14:22:11 +08:00
2026-08-22 21:44:03 +08:00
2026-05-10 11:59:05 +08:00
2026-09-18 10:02:39 +08:00
2026-09-09 09:58:42 +00:00
2026-08-30 04:14:21 +00:00
2026-09-06 16:23:30 +08:00
2026-09-06 05:41:54 +08:00
2026-08-28 14:27:05 +08:00
2026-08-26 01:31:12 +00:00
2026-09-16 15:14:23 +08:00
2026-08-28 14:27:05 +08:00
2026-09-16 15:14:23 +08:00
2026-09-06 05:41:54 +08:00
2026-09-06 05:41:54 +08:00
2026-09-06 05:41:54 +08:00
2026-09-06 05:41:54 +08:00