Diffusers documentation
Démarrage rapide
Démarrage rapide
Diffusers est une bibliothèque destinée aux développeurs et aux chercheurs, qui fournit une API d'inférence simple pour générer des images, des vidéos et de l'audio, ainsi que les briques de base pour implémenter de nouveaux flux de travail.
Diffusers fournit de nombreuses optimisations par défaut qui permettent de charger et d’exécuter de grands modèles sur des configurations à mémoire limitée ou d’accélérer l’inférence.
Ce guide de démarrage rapide vous donnera un aperçu de Diffusers et vous permettra de commencer à générer rapidement.
Avant de commencer, assurez-vous de disposer d'un compte Hugging Face pour utiliser des modèles à accès restreint comme Flux. Vous préférez construire un pipeline personnalisé ? Consultez le tutoriel d'introduction à Modular Diffusers et la vue d'ensemble.
Suivez le guide Installation pour installer Diffusers si ce n’est pas déjà fait.
Prompt de l'agent
Collez ceci dans votre agent de codage pour configurer Diffusers pour l’inférence.
Help me get set up with Hugging Face Diffusers for inference. 1. Install Diffusers for my environment with `uv pip install "diffusers[torch]"`. 2. If I need gated Hub models, help me authenticate to the Hugging Face Hub. 3. Install Diffusers coding agent skills with `diffusers-cli skills add diffusers-cli`. Pass `--cursor`, `--claude`, or `--codex` if auto-detect fails. Optionally pass `--all` to install every skill in the registry. 4. Run a first text-to-image with DiffusionPipeline or `diffusers-cli run`, using a small or current Quickstart model and the right `device_map` for my machine. 5. Ask what I want next and point me at the matching docs.
DiffusionPipeline
DiffusionPipeline regroupe les composants d’un modèle de diffusion (encodeur de texte, planificateur, UNet ou DiT, et VAE) dans une seule classe pour l’inférence. Chargez-le avec from_pretrained(), puis appelez le pipeline.
Les arguments de __call__() tels que num_inference_steps modifient la qualité et la vitesse. Pour les détails de chargement et les composants mixtes, consultez Charger des pipelines. Pour changer le planificateur, consultez Planificateurs.
Les exemples ci-dessous utilisent les valeurs par défaut des arguments.
Utilisez .images[0] pour accéder à l'image générée.
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"Qwen/Qwen-Image", dtype=torch.bfloat16, device_map="cuda" # or "mps", "xpu", "cpu"
)
prompt = """
cinematic film still of a cat sipping a margarita in a pool in Palm Springs, California
highly detailed, high budget hollywood movie, cinemascope, moody, epic, gorgeous, film grain
"""
pipeline(prompt).images[0]Utilisez .frames[0] pour accéder à la vidéo générée et export_to_video() pour l'enregistrer.
import torch
from diffusers import AutoencoderKLWan, DiffusionPipeline
from diffusers.utils import export_to_video
vae = AutoencoderKLWan.from_pretrained(
"Wan-AI/Wan2.2-T2V-A14B-Diffusers",
subfolder="vae",
dtype=torch.float32
)
pipeline = DiffusionPipeline.from_pretrained(
"Wan-AI/Wan2.2-T2V-A14B-Diffusers",
vae=vae,
dtype=torch.bfloat16,
device_map="cuda" # or "mps", "xpu", "cpu"
)
prompt = """
Cinematic video of a sleek cat lounging on a colorful inflatable in a crystal-clear turquoise pool in Palm Springs,
sipping a salt-rimmed margarita through a straw. Golden-hour sunlight glows over mid-century modern homes and swaying palms.
Shot in rich Sony a7S III: with moody, glamorous color grading, subtle lens flares, and soft vintage film grain.
Ripples shimmer as a warm desert breeze stirs the water, blending luxury and playful charm in an epic, gorgeously composed frame.
"""
video = pipeline(prompt=prompt, num_frames=81, num_inference_steps=40).frames[0]
export_to_video(video, "output.mp4", fps=16)LoRA
Les adaptateurs LoRA ajoutent un petit point de contrôle de style ou de sujet par-dessus un pipeline de base. Chargez-en un avec load_lora_weights(). Certains LoRA nécessitent une phrase déclencheuse. Consultez la carte du modèle du LoRA.
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"Qwen/Qwen-Image", dtype=torch.bfloat16, device_map="cuda" # or "mps", "xpu", "cpu"
)
pipeline.load_lora_weights(
"threecrowco/VolkClipartQwen",
weight_name="pytorch_lora_weights.safetensors",
)
prompt = """
Volk clipart style drawing of a cat sipping a margarita in a pool in Palm Springs, California, flat colors, bold outlines, simple shapes
"""
pipeline(prompt).images[0]Quantification et optimisations
Les grands modèles ont souvent besoin de moins de mémoire ou d'une vitesse accrue. Utilisez la quantization pour réduire la taille des poids en mémoire, et compile_repeated_blocks() pour accélérer les générations ultérieures. Pour le model offloading et d'autres options, consultez Optimize and scale.
Pour utiliser moins de mémoire, chargez en 4 bits avec bitsandbytes.
import torch
from diffusers import DiffusionPipeline
from diffusers.quantizers import PipelineQuantizationConfig
quant_config = PipelineQuantizationConfig(
quant_backend="bitsandbytes_4bit",
quant_kwargs={"load_in_4bit": True, "bnb_4bit_quant_type": "nf4", "bnb_4bit_compute_dtype": torch.bfloat16},
components_to_quantize=["transformer", "text_encoder"],
)
pipeline = DiffusionPipeline.from_pretrained(
"Qwen/Qwen-Image",
dtype=torch.bfloat16,
quantization_config=quant_config,
device_map="cuda" # or "mps", "xpu", "cpu"
)
prompt = """
cinematic film still of a cat sipping a margarita in a pool in Palm Springs, California
highly detailed, high budget hollywood movie, cinemascope, moody, epic, gorgeous, film grain
"""
pipeline(prompt).images[0]Pour accélérer les exécutions ultérieures, compilez les blocs répétés du transformer. Le premier generate après la compilation est un démarrage à froid et est lent. Les generates suivants sont plus rapides.
import torch
from diffusers import DiffusionPipeline
pipeline = DiffusionPipeline.from_pretrained(
"Qwen/Qwen-Image", dtype=torch.bfloat16, device_map="cuda" # or "mps", "xpu", "cpu"
)
pipeline.transformer.compile_repeated_blocks(fullgraph=True)
prompt = """
cinematic film still of a cat sipping a margarita in a pool in Palm Springs, California
highly detailed, high budget hollywood movie, cinemascope, moody, epic, gorgeous, film grain
"""
pipeline(prompt).images[0]Étapes suivantes
- Inférence — pipelines, prompting et adaptateurs
- Optimiser et mettre à l'échelle — mémoire, vitesse, quantification et service
- Diffusers modulaires — blocs composables et pipelines personnalisés
- Entraîner et affiner — scripts d'entraînement et adaptateurs
- CLI — générer depuis la ligne de commande