Text-to-Image
Diffusers
Safetensors
English
Chinese
QwenImage21Pipeline
sdnq
int4
uint4
image-generation
image-editing
apple-silicon
8-bit precision
Instructions to use ixim/Image21-INT4 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use ixim/Image21-INT4 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("ixim/Image21-INT4", dtype=torch.bfloat16, device_map="cuda") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
- DiffusionBee
Download transformer-quantization.json from ixim/Image21-INT4: direct link, hf CLI and curl.
- Browser
- Download file 15.6 kB
-
https://huggingface.co/ixim/Image21-INT4/resolve/main/transformer-quantization.json
- Command line
-
hf download hf://ixim/Image21-INT4/transformer-quantization.json
-
curl -L -o transformer-quantization.json https://huggingface.co/ixim/Image21-INT4/resolve/main/transformer-quantization.json
15.6 kB
| { | |
| "component": "transformer", | |
| "method": "sdnq", | |
| "weights_dtype": "uint4", | |
| "use_svd": true, | |
| "svd_rank": 32, | |
| "use_quantized_matmul": false, | |
| "skip_modules": [ | |
| "proj_out", | |
| "img_in", | |
| "txt_in", | |
| "time_text_embed", | |
| "modulation", | |
| "norm_out" | |
| ], | |
| "quantized_modules": [ | |
| "transformer_blocks.0.attn.to_q", | |
| "transformer_blocks.0.attn.to_k", | |
| "transformer_blocks.0.attn.to_v", | |
| "transformer_blocks.0.attn.to_out.0", | |
| "transformer_blocks.0.img_mlp.proj", | |
| "transformer_blocks.0.img_mlp.out", | |
| "transformer_blocks.0.img_mlp.gate_layer", | |
| "transformer_blocks.1.attn.to_q", | |
| "transformer_blocks.1.attn.to_k", | |
| "transformer_blocks.1.attn.to_v", | |
| "transformer_blocks.1.attn.to_out.0", | |
| "transformer_blocks.1.img_mlp.proj", | |
| "transformer_blocks.1.img_mlp.out", | |
| "transformer_blocks.1.img_mlp.gate_layer", | |
| "transformer_blocks.2.attn.to_q", | |
| "transformer_blocks.2.attn.to_k", | |
| "transformer_blocks.2.attn.to_v", | |
| "transformer_blocks.2.attn.to_out.0", | |
| "transformer_blocks.2.img_mlp.proj", | |
| "transformer_blocks.2.img_mlp.out", | |
| "transformer_blocks.2.img_mlp.gate_layer", | |
| "transformer_blocks.3.attn.to_q", | |
| "transformer_blocks.3.attn.to_k", | |
| "transformer_blocks.3.attn.to_v", | |
| "transformer_blocks.3.attn.to_out.0", | |
| "transformer_blocks.3.img_mlp.proj", | |
| "transformer_blocks.3.img_mlp.out", | |
| "transformer_blocks.3.img_mlp.gate_layer", | |
| "transformer_blocks.4.attn.to_q", | |
| "transformer_blocks.4.attn.to_k", | |
| "transformer_blocks.4.attn.to_v", | |
| "transformer_blocks.4.attn.to_out.0", | |
| "transformer_blocks.4.img_mlp.proj", | |
| "transformer_blocks.4.img_mlp.out", | |
| "transformer_blocks.4.img_mlp.gate_layer", | |
| "transformer_blocks.5.attn.to_q", | |
| "transformer_blocks.5.attn.to_k", | |
| "transformer_blocks.5.attn.to_v", | |
| "transformer_blocks.5.attn.to_out.0", | |
| "transformer_blocks.5.img_mlp.proj", | |
| "transformer_blocks.5.img_mlp.out", | |
| "transformer_blocks.5.img_mlp.gate_layer", | |
| "transformer_blocks.6.attn.to_q", | |
| "transformer_blocks.6.attn.to_k", | |
| "transformer_blocks.6.attn.to_v", | |
| "transformer_blocks.6.attn.to_out.0", | |
| "transformer_blocks.6.img_mlp.proj", | |
| "transformer_blocks.6.img_mlp.out", | |
| "transformer_blocks.6.img_mlp.gate_layer", | |
| "transformer_blocks.7.attn.to_q", | |
| "transformer_blocks.7.attn.to_k", | |
| "transformer_blocks.7.attn.to_v", | |
| "transformer_blocks.7.attn.to_out.0", | |
| "transformer_blocks.7.img_mlp.proj", | |
| "transformer_blocks.7.img_mlp.out", | |
| "transformer_blocks.7.img_mlp.gate_layer", | |
| "transformer_blocks.8.attn.to_q", | |
| "transformer_blocks.8.attn.to_k", | |
| "transformer_blocks.8.attn.to_v", | |
| "transformer_blocks.8.attn.to_out.0", | |
| "transformer_blocks.8.img_mlp.proj", | |
| "transformer_blocks.8.img_mlp.out", | |
| "transformer_blocks.8.img_mlp.gate_layer", | |
| "transformer_blocks.9.attn.to_q", | |
| "transformer_blocks.9.attn.to_k", | |
| "transformer_blocks.9.attn.to_v", | |
| "transformer_blocks.9.attn.to_out.0", | |
| "transformer_blocks.9.img_mlp.proj", | |
| "transformer_blocks.9.img_mlp.out", | |
| "transformer_blocks.9.img_mlp.gate_layer", | |
| "transformer_blocks.10.attn.to_q", | |
| "transformer_blocks.10.attn.to_k", | |
| "transformer_blocks.10.attn.to_v", | |
| "transformer_blocks.10.attn.to_out.0", | |
| "transformer_blocks.10.img_mlp.proj", | |
| "transformer_blocks.10.img_mlp.out", | |
| "transformer_blocks.10.img_mlp.gate_layer", | |
| "transformer_blocks.11.attn.to_q", | |
| "transformer_blocks.11.attn.to_k", | |
| "transformer_blocks.11.attn.to_v", | |
| "transformer_blocks.11.attn.to_out.0", | |
| "transformer_blocks.11.img_mlp.proj", | |
| "transformer_blocks.11.img_mlp.out", | |
| "transformer_blocks.11.img_mlp.gate_layer", | |
| "transformer_blocks.12.attn.to_q", | |
| "transformer_blocks.12.attn.to_k", | |
| "transformer_blocks.12.attn.to_v", | |
| "transformer_blocks.12.attn.to_out.0", | |
| "transformer_blocks.12.img_mlp.proj", | |
| "transformer_blocks.12.img_mlp.out", | |
| "transformer_blocks.12.img_mlp.gate_layer", | |
| "transformer_blocks.13.attn.to_q", | |
| "transformer_blocks.13.attn.to_k", | |
| "transformer_blocks.13.attn.to_v", | |
| "transformer_blocks.13.attn.to_out.0", | |
| "transformer_blocks.13.img_mlp.proj", | |
| "transformer_blocks.13.img_mlp.out", | |
| "transformer_blocks.13.img_mlp.gate_layer", | |
| "transformer_blocks.14.attn.to_q", | |
| "transformer_blocks.14.attn.to_k", | |
| "transformer_blocks.14.attn.to_v", | |
| "transformer_blocks.14.attn.to_out.0", | |
| "transformer_blocks.14.img_mlp.proj", | |
| "transformer_blocks.14.img_mlp.out", | |
| "transformer_blocks.14.img_mlp.gate_layer", | |
| "transformer_blocks.15.attn.to_q", | |
| "transformer_blocks.15.attn.to_k", | |
| "transformer_blocks.15.attn.to_v", | |
| "transformer_blocks.15.attn.to_out.0", | |
| "transformer_blocks.15.img_mlp.proj", | |
| "transformer_blocks.15.img_mlp.out", | |
| "transformer_blocks.15.img_mlp.gate_layer", | |
| "transformer_blocks.16.attn.to_q", | |
| "transformer_blocks.16.attn.to_k", | |
| "transformer_blocks.16.attn.to_v", | |
| "transformer_blocks.16.attn.to_out.0", | |
| "transformer_blocks.16.img_mlp.proj", | |
| "transformer_blocks.16.img_mlp.out", | |
| "transformer_blocks.16.img_mlp.gate_layer", | |
| "transformer_blocks.17.attn.to_q", | |
| "transformer_blocks.17.attn.to_k", | |
| "transformer_blocks.17.attn.to_v", | |
| "transformer_blocks.17.attn.to_out.0", | |
| "transformer_blocks.17.img_mlp.proj", | |
| "transformer_blocks.17.img_mlp.out", | |
| "transformer_blocks.17.img_mlp.gate_layer", | |
| "transformer_blocks.18.attn.to_q", | |
| "transformer_blocks.18.attn.to_k", | |
| "transformer_blocks.18.attn.to_v", | |
| "transformer_blocks.18.attn.to_out.0", | |
| "transformer_blocks.18.img_mlp.proj", | |
| "transformer_blocks.18.img_mlp.out", | |
| "transformer_blocks.18.img_mlp.gate_layer", | |
| "transformer_blocks.19.attn.to_q", | |
| "transformer_blocks.19.attn.to_k", | |
| "transformer_blocks.19.attn.to_v", | |
| "transformer_blocks.19.attn.to_out.0", | |
| "transformer_blocks.19.img_mlp.proj", | |
| "transformer_blocks.19.img_mlp.out", | |
| "transformer_blocks.19.img_mlp.gate_layer", | |
| "transformer_blocks.20.attn.to_q", | |
| "transformer_blocks.20.attn.to_k", | |
| "transformer_blocks.20.attn.to_v", | |
| "transformer_blocks.20.attn.to_out.0", | |
| "transformer_blocks.20.img_mlp.proj", | |
| "transformer_blocks.20.img_mlp.out", | |
| "transformer_blocks.20.img_mlp.gate_layer", | |
| "transformer_blocks.21.attn.to_q", | |
| "transformer_blocks.21.attn.to_k", | |
| "transformer_blocks.21.attn.to_v", | |
| "transformer_blocks.21.attn.to_out.0", | |
| "transformer_blocks.21.img_mlp.proj", | |
| "transformer_blocks.21.img_mlp.out", | |
| "transformer_blocks.21.img_mlp.gate_layer", | |
| "transformer_blocks.22.attn.to_q", | |
| "transformer_blocks.22.attn.to_k", | |
| "transformer_blocks.22.attn.to_v", | |
| "transformer_blocks.22.attn.to_out.0", | |
| "transformer_blocks.22.img_mlp.proj", | |
| "transformer_blocks.22.img_mlp.out", | |
| "transformer_blocks.22.img_mlp.gate_layer", | |
| "transformer_blocks.23.attn.to_q", | |
| "transformer_blocks.23.attn.to_k", | |
| "transformer_blocks.23.attn.to_v", | |
| "transformer_blocks.23.attn.to_out.0", | |
| "transformer_blocks.23.img_mlp.proj", | |
| "transformer_blocks.23.img_mlp.out", | |
| "transformer_blocks.23.img_mlp.gate_layer", | |
| "transformer_blocks.24.attn.to_q", | |
| "transformer_blocks.24.attn.to_k", | |
| "transformer_blocks.24.attn.to_v", | |
| "transformer_blocks.24.attn.to_out.0", | |
| "transformer_blocks.24.img_mlp.proj", | |
| "transformer_blocks.24.img_mlp.out", | |
| "transformer_blocks.24.img_mlp.gate_layer", | |
| "transformer_blocks.25.attn.to_q", | |
| "transformer_blocks.25.attn.to_k", | |
| "transformer_blocks.25.attn.to_v", | |
| "transformer_blocks.25.attn.to_out.0", | |
| "transformer_blocks.25.img_mlp.proj", | |
| "transformer_blocks.25.img_mlp.out", | |
| "transformer_blocks.25.img_mlp.gate_layer", | |
| "transformer_blocks.26.attn.to_q", | |
| "transformer_blocks.26.attn.to_k", | |
| "transformer_blocks.26.attn.to_v", | |
| "transformer_blocks.26.attn.to_out.0", | |
| "transformer_blocks.26.img_mlp.proj", | |
| "transformer_blocks.26.img_mlp.out", | |
| "transformer_blocks.26.img_mlp.gate_layer", | |
| "transformer_blocks.27.attn.to_q", | |
| "transformer_blocks.27.attn.to_k", | |
| "transformer_blocks.27.attn.to_v", | |
| "transformer_blocks.27.attn.to_out.0", | |
| "transformer_blocks.27.img_mlp.proj", | |
| "transformer_blocks.27.img_mlp.out", | |
| "transformer_blocks.27.img_mlp.gate_layer", | |
| "transformer_blocks.28.attn.to_q", | |
| "transformer_blocks.28.attn.to_k", | |
| "transformer_blocks.28.attn.to_v", | |
| "transformer_blocks.28.attn.to_out.0", | |
| "transformer_blocks.28.img_mlp.proj", | |
| "transformer_blocks.28.img_mlp.out", | |
| "transformer_blocks.28.img_mlp.gate_layer", | |
| "transformer_blocks.29.attn.to_q", | |
| "transformer_blocks.29.attn.to_k", | |
| "transformer_blocks.29.attn.to_v", | |
| "transformer_blocks.29.attn.to_out.0", | |
| "transformer_blocks.29.img_mlp.proj", | |
| "transformer_blocks.29.img_mlp.out", | |
| "transformer_blocks.29.img_mlp.gate_layer", | |
| "transformer_blocks.30.attn.to_q", | |
| "transformer_blocks.30.attn.to_k", | |
| "transformer_blocks.30.attn.to_v", | |
| "transformer_blocks.30.attn.to_out.0", | |
| "transformer_blocks.30.img_mlp.proj", | |
| "transformer_blocks.30.img_mlp.out", | |
| "transformer_blocks.30.img_mlp.gate_layer", | |
| "transformer_blocks.31.attn.to_q", | |
| "transformer_blocks.31.attn.to_k", | |
| "transformer_blocks.31.attn.to_v", | |
| "transformer_blocks.31.attn.to_out.0", | |
| "transformer_blocks.31.img_mlp.proj", | |
| "transformer_blocks.31.img_mlp.out", | |
| "transformer_blocks.31.img_mlp.gate_layer" | |
| ], | |
| "module_types": { | |
| "QwenImage21Transformer2DModel": 1, | |
| "QwenImage21Rope": 1, | |
| "QwenImage21TimestepProjEmbeddings": 1, | |
| "QwenImage21TemporalTimesteps": 1, | |
| "TimestepEmbedding": 1, | |
| "Linear": 8, | |
| "SiLU": 35, | |
| "QwenImage21TextProjection": 1, | |
| "QwenImage21ZeroCenterRMSNorm": 1, | |
| "GELU": 1, | |
| "Sequential": 1, | |
| "ModuleList": 33, | |
| "QwenImage21TransformerBlock": 32, | |
| "LayerNorm": 65, | |
| "QwenImage21Attention": 32, | |
| "SDNQLinear": 224, | |
| "Dropout": 32, | |
| "RMSNorm": 64, | |
| "QwenImage21SwiGLUFeedForward": 32, | |
| "QwenImage21AdaLayerNormContinuous": 1 | |
| }, | |
| "parameter_dtypes": { | |
| "torch.bfloat16": 219688960, | |
| "torch.uint8": 3489660928, | |
| "torch.float32": 109051904 | |
| }, | |
| "saved_quantization_config": { | |
| "add_skip_keys": true, | |
| "codebook_steps": 24, | |
| "dequantize_fp32": true, | |
| "dynamic_loss_threshold": null, | |
| "group_size": 0, | |
| "hadamard_group_size": 256, | |
| "is_integer": true, | |
| "is_training": false, | |
| "is_unsigned": true, | |
| "minimum_allowed_channel_size": 32, | |
| "minimum_allowed_numel": 16384, | |
| "modules_dtype_dict": {}, | |
| "modules_quant_config": {}, | |
| "modules_to_not_convert": [ | |
| "multi_modal_projector", | |
| ".x_embedder", | |
| ".proj_in", | |
| "patch_embedding", | |
| ".t_embedder", | |
| ".norm_out", | |
| ".img_out", | |
| "wte", | |
| ".txt_out", | |
| ".vid_in", | |
| ".time_embed", | |
| "proj_out", | |
| ".vid_out", | |
| ".context_embedder", | |
| "pos_embed", | |
| "norm_out", | |
| ".emb_out", | |
| "lm_head", | |
| "norm", | |
| ".y_embedder", | |
| ".emb_in", | |
| "img_in", | |
| ".final_layer", | |
| "time_text_embed", | |
| ".img_in", | |
| "patch_emb", | |
| ".proj_out", | |
| ".txt_in", | |
| "txt_in", | |
| ".condition_embedder", | |
| "patch_embed", | |
| "modulation", | |
| "transformer_blocks.0.attn.norm_k.weight", | |
| "transformer_blocks.0.attn.norm_q.weight", | |
| "transformer_blocks.1.attn.norm_k.weight", | |
| "transformer_blocks.1.attn.norm_q.weight", | |
| "transformer_blocks.10.attn.norm_k.weight", | |
| "transformer_blocks.10.attn.norm_q.weight", | |
| "transformer_blocks.11.attn.norm_k.weight", | |
| "transformer_blocks.11.attn.norm_q.weight", | |
| "transformer_blocks.12.attn.norm_k.weight", | |
| "transformer_blocks.12.attn.norm_q.weight", | |
| "transformer_blocks.13.attn.norm_k.weight", | |
| "transformer_blocks.13.attn.norm_q.weight", | |
| "transformer_blocks.14.attn.norm_k.weight", | |
| "transformer_blocks.14.attn.norm_q.weight", | |
| "transformer_blocks.15.attn.norm_k.weight", | |
| "transformer_blocks.15.attn.norm_q.weight", | |
| "transformer_blocks.16.attn.norm_k.weight", | |
| "transformer_blocks.16.attn.norm_q.weight", | |
| "transformer_blocks.17.attn.norm_k.weight", | |
| "transformer_blocks.17.attn.norm_q.weight", | |
| "transformer_blocks.18.attn.norm_k.weight", | |
| "transformer_blocks.18.attn.norm_q.weight", | |
| "transformer_blocks.19.attn.norm_k.weight", | |
| "transformer_blocks.19.attn.norm_q.weight", | |
| "transformer_blocks.2.attn.norm_k.weight", | |
| "transformer_blocks.2.attn.norm_q.weight", | |
| "transformer_blocks.20.attn.norm_k.weight", | |
| "transformer_blocks.20.attn.norm_q.weight", | |
| "transformer_blocks.21.attn.norm_k.weight", | |
| "transformer_blocks.21.attn.norm_q.weight", | |
| "transformer_blocks.22.attn.norm_k.weight", | |
| "transformer_blocks.22.attn.norm_q.weight", | |
| "transformer_blocks.3.attn.norm_k.weight", | |
| "transformer_blocks.3.attn.norm_q.weight", | |
| "transformer_blocks.4.attn.norm_k.weight", | |
| "transformer_blocks.4.attn.norm_q.weight", | |
| "transformer_blocks.5.attn.norm_k.weight", | |
| "transformer_blocks.5.attn.norm_q.weight", | |
| "transformer_blocks.6.attn.norm_k.weight", | |
| "transformer_blocks.6.attn.norm_q.weight", | |
| "transformer_blocks.7.attn.norm_k.weight", | |
| "transformer_blocks.7.attn.norm_q.weight", | |
| "transformer_blocks.8.attn.norm_k.weight", | |
| "transformer_blocks.8.attn.norm_q.weight", | |
| "transformer_blocks.9.attn.norm_k.weight", | |
| "transformer_blocks.9.attn.norm_q.weight", | |
| "transformer_blocks.23.attn.norm_k.weight", | |
| "transformer_blocks.23.attn.norm_q.weight", | |
| "transformer_blocks.24.attn.norm_k.weight", | |
| "transformer_blocks.24.attn.norm_q.weight", | |
| "transformer_blocks.25.attn.norm_k.weight", | |
| "transformer_blocks.25.attn.norm_q.weight", | |
| "transformer_blocks.26.attn.norm_k.weight", | |
| "transformer_blocks.26.attn.norm_q.weight", | |
| "transformer_blocks.27.attn.norm_k.weight", | |
| "transformer_blocks.27.attn.norm_q.weight", | |
| "transformer_blocks.28.attn.norm_k.weight", | |
| "transformer_blocks.28.attn.norm_q.weight", | |
| "transformer_blocks.29.attn.norm_k.weight", | |
| "transformer_blocks.29.attn.norm_q.weight", | |
| "transformer_blocks.30.attn.norm_k.weight", | |
| "transformer_blocks.30.attn.norm_q.weight", | |
| "transformer_blocks.31.attn.norm_k.weight", | |
| "transformer_blocks.31.attn.norm_q.weight" | |
| ], | |
| "modules_to_not_use_matmul": [], | |
| "non_blocking": false, | |
| "quant_conv": false, | |
| "quant_embedding": false, | |
| "quant_method": "sdnq", | |
| "quantization_device": "cuda:0", | |
| "quantized_matmul_dtype": null, | |
| "return_device": "cpu", | |
| "sdnq_version": "0.2.7", | |
| "svd_rank": 32, | |
| "svd_steps": 8, | |
| "use_codebook": false, | |
| "use_dynamic_quantization": false, | |
| "use_grad_ckpt": true, | |
| "use_hadamard": false, | |
| "use_quantized_matmul": false, | |
| "use_quantized_matmul_conv": false, | |
| "use_static_quantization": true, | |
| "use_stochastic_rounding": false, | |
| "use_svd": true, | |
| "weights_dtype": "uint4" | |
| } | |
| } |