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-08-23 04:22:05 +00:00
2026-08-16 11:22:28 +08:00
2026-08-20 07:09:12 +08:00
2026-08-19 15:27:58 +08:00
2026-09-07 13:38:23 +08:00
2026-06-19 14:24:37 +08:00
2026-08-20 07:09:12 +08:00
2026-08-20 07:09:12 +08:00
2026-09-18 10:02:50 +08:00
2026-09-06 05:40:09 +08:00
2026-05-28 14:56:56 +08:00
2026-08-16 11:22:28 +08:00
2026-08-19 15:27:58 +08:00
2026-09-02 20:25:32 -07:00
2026-08-28 08:32:32 +08:00
2026-08-20 07:09:12 +08:00
2026-08-20 07:09:12 +08:00
2026-08-20 07:09:12 +08:00
2026-09-06 05:40:09 +08:00
2026-08-16 11:22:28 +08:00
2026-09-08 13:56:27 +00:00
2026-08-20 07:09:12 +08:00
2026-08-19 15:27:58 +08:00
2026-08-20 07:09:12 +08:00
2026-08-23 04:22:05 +00:00
2026-09-16 15:14:23 +08:00
2026-09-08 19:00:25 -07:00
2026-09-06 05:40:09 +08:00
2026-08-28 08:32:32 +08:00