Instructions to use wavespeed/Qwen-Image-e4m3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use wavespeed/Qwen-Image-e4m3 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("wavespeed/Qwen-Image-e4m3", 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 README.md from wavespeed/Qwen-Image-e4m3: direct link, hf CLI and curl.
- Browser
- Download file 1.66 kB
-
https://huggingface.co/wavespeed/Qwen-Image-e4m3/resolve/main/README.md
- Command line
-
hf download hf://wavespeed/Qwen-Image-e4m3/README.md
-
curl -L -o README.md https://huggingface.co/wavespeed/Qwen-Image-e4m3/resolve/main/README.md
1.66 kB
| base_model: Qwen/Qwen-Image | |
| library_name: diffusers | |
| license: apache-2.0 | |
| pipeline_tag: text-to-image | |
| tags: | |
| - qwen-image | |
| - text-to-image | |
| - quantized | |
| - fp8 | |
| - e4m3 | |
| - diffusers | |
| base_model_relation: quantized | |
| # Qwen-Image-e4m3 | |
| FP8 (e4m3) dynamically-quantized [Qwen-Image](https://huggingface.co/Qwen/Qwen-Image), | |
| saved as a complete `QwenImagePipeline`. | |
| ## What was changed | |
| All 60 blocks of the `QwenImageTransformer2DModel` are quantized to | |
| `e4m3_e4m3_dynamic` — `float8_e4m3fn` weights with dynamically scaled | |
| `float8_e4m3fn` activations. The Qwen2.5-VL text encoder, the VAE and the | |
| transformer's non-block tensors are untouched and stay in bf16. The transformer | |
| drops from ~40.9 GB to ~20.5 GB. | |
| Quantization was done with WaveSpeed's `xelerate.ao.quantize`. Weights are | |
| stored as pickled `.bin` shards, so loading requires `use_safetensors=False`. | |
| FP8 matmul needs Hopper (H100/H200) or newer to be faster than bf16; on older | |
| GPUs the weights are dequantized on the fly and you only get the memory saving. | |
| One caveat worth repeating from our own testing: on Qwen-Image, running fp8 | |
| *weight-and-activation* matmul under a fully fused fast path produces visible | |
| quality loss. The configuration published here — dynamic per-tensor activation | |
| scaling with bf16 accumulation — is the one that holds up. | |
| ## Usage | |
| ```python | |
| import torch | |
| from diffusers import QwenImagePipeline | |
| pipe = QwenImagePipeline.from_pretrained( | |
| "wavespeed/Qwen-Image-e4m3", | |
| torch_dtype=torch.bfloat16, | |
| use_safetensors=False, | |
| ).to("cuda") | |
| image = pipe("a chalkboard menu written in neat cursive").images[0] | |
| ``` | |
| ## License | |
| Apache-2.0, inherited from Qwen-Image. | |