| | --- |
| | tags: |
| | - text-to-image |
| | - stable-diffusion |
| | - lora |
| | - diffusers |
| | - template:sd-lora |
| | base_model: stabilityai/stable-diffusion-xl-base-1.0 |
| | license: cc-by-nc-nd-4.0 |
| | --- |
| | # ⚡ FlashDiffusion: FlashSDXL ⚡ |
| |
|
| |
|
| | Flash Diffusion is a diffusion distillation method proposed in [ADD ARXIV]() *by Clément Chadebec, Onur Tasar and Benjamin Aubin.* |
| | This model is a **26.4M** LoRA distilled version of [SDXL](https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0) model that is able to generate images in **4 steps**. The main purpose of this model is to reproduce the main results of the paper. |
| |
|
| |
|
| | <p align="center"> |
| | <img style="width:700px;" src="images/hf_grid.png"> |
| | </p> |
| |
|
| | # How to use? |
| |
|
| | The model can be used using the `StableDiffusionPipeline` from `diffusers` library directly. It can allow reducing the number of required sampling steps to **2-4 steps**. |
| |
|
| | ```python |
| | from diffusers import DiffusionPipeline, LCMScheduler |
| | |
| | adapter_id = "jasperai/flash-sd" |
| | |
| | pipe = DiffusionPipeline.from_pretrained( |
| | "stabilityai/stable-diffusion-xl-base-1.0", |
| | use_safetensors=True, |
| | ) |
| | |
| | pipe.scheduler = LCMScheduler.from_pretrained( |
| | "stabilityai/stable-diffusion-xl-base-1.0", |
| | subfolder="scheduler", |
| | timestep_spacing="trailing", |
| | ) |
| | pipe.to("cuda") |
| | |
| | # Fuse and load LoRA weights |
| | pipe.load_lora_weights(adapter_id) |
| | pipe.fuse_lora() |
| | |
| | prompt = "A raccoon reading a book in a lush forest." |
| | |
| | image = pipe(prompt, num_inference_steps=4, guidance_scale=0).images[0] |
| | ``` |
| | <p align="center"> |
| | <img style="width:400px;" src="images/raccoon.png"> |
| | </p> |
| |
|
| | # Training Details |
| |
|
| |
|
| | ## License |
| | This model is released under the the Creative Commons BY-NC license. |
| |
|