metadata
license: cc-by-nc-4.0
library_name: diffusers
base_model: runwayml/stable-diffusion-v1-5
tags:
- lora
- text-to-image
inference: false
⚡ FlashDiffusion: FlashSD ⚡
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 SD1.5 model that is able to generate images in 2-4 steps. The main purpose of this model is to reproduce the main results of the paper.
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.
from diffusers import StableDiffusionPipeline, LCMScheduler
adapter_id = "jasperai/flash-sd"
pipe = StableDiffusionPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
use_safetensors=True,
)
pipe.scheduler = LCMScheduler.from_pretrained(
"runwayml/stable-diffusion-v1-5",
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]
Training Details
The model was trained for 20k iterations on 2 H100 GPUs (representing approx. 13 hours of training). Please refer to the paper for further parameters details.
Metrics on COCO 2017 validation set
- FID-5k: 22.6 (2 NFE) / 22.5 (4 NFE)
- CLIP Score (ViT-g/14): 0.306 (2 NFE) / 0.311 (4 NFE)
Metrics on COCO 2014 validation
- FID-30k: 12.07 (2 NFE)