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-07-27 23:35:49 +08:00
2026-09-10 12:08:28 +08:00
2026-09-05 08:20:21 +00:00
2026-09-10 15:03:21 +08:00
2026-09-10 12:08:28 +08:00
2026-09-09 13:02:12 -07:00
2026-09-18 10:02:50 +08:00
2026-09-09 13:49:43 +08:00
2026-09-10 12:08:28 +08:00
2026-09-10 15:03:21 +08:00
2026-09-10 12:08:28 +08:00
2026-09-08 22:54:49 +08:00
2026-09-10 12:08:28 +08:00
2026-01-27 10:22:40 +08:00
2026-09-09 13:02:12 -07:00
2026-09-10 12:08:28 +08:00
2026-09-05 15:32:30 +08:00
2026-09-09 13:02:12 -07:00
2026-09-10 12:08:28 +08:00
2026-07-11 18:48:43 +00:00
2026-04-24 16:30:24 +08:00
2026-09-06 04:48:38 +00:00
2026-09-10 12:08:28 +08:00
2025-09-11 15:43:43 +08:00
2026-08-28 08:32:32 +08:00
2026-09-10 11:38:11 +08:00
2026-09-08 19:27:38 +00:00
2026-09-10 12:08:28 +08:00
2026-07-27 23:35:49 +08:00
2026-09-03 18:49:19 -07:00
2026-06-11 21:09:24 +00:00
2025-12-15 07:13:36 +00:00
2026-08-11 15:23:46 +00:00
2026-08-27 06:12:55 +00:00
2026-04-17 20:15:16 +08:00