Diffusers documentation

Hızlı Başlangıç

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Hızlı Başlangıç

Diffusers, görüntü, video ve ses üretimi için kolay bir çıkarım API'si ve yeni iş akışları uygulamak için gerekli yapı taşlarını sunan, geliştiriciler ve araştırmacılar için bir kütüphanedir.

Diffusers, sınırlı belleğe sahip kurulumlarda büyük modellerin yüklenip çalıştırılmasını veya çıkarımın hızlandırılmasını mümkün kılan birçok optimizasyonu kutudan çıktığı gibi sunar.

Bu Hızlı Başlangıç, Diffusers hakkında genel bir bakış sunarak sizi hızla üretime geçirecektir.

Başlamadan önce, Flux gibi kapılı modelleri kullanmak için bir Hugging Face hesabınız olduğundan emin olun. Özel bir pipeline mı oluşturuyorsunuz? Modular Diffusers hızlı başlangıcı ve genel bakış sayfasına göz atın.

Diffusers zaten yüklü değilse, Yükleme kılavuzunu izleyerek Diffusers'ı yükleyin.

Ajan istemi

Diffusers'ı çıkarım için yapılandırmak için bunu kodlama aracınıza yapıştırın.

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, bir difüzyon modelinin parçalarını (metin kodlayıcı, zamanlayıcı, UNet veya DiT ve VAE) çıkarım için tek bir sınıfta birleştirir. from_pretrained() ile yükleyin, ardından hattı çağırın.

__call__() içindeki num_inference_steps gibi argümanlar kaliteyi ve hızı değiştirir. Yükleme ayrıntıları ve bileşenleri karıştırıp eşleştirmek için Pipeline'ları yükleme bölümüne bakın. Zamanlayıcıyı değiştirmek için Zamanlayıcılar bölümüne bakın.

Aşağıdaki örnekler varsayılan argüman değerlerini kullanır.

metinden görüntüye
metinden videoya

Oluşturulan görüntü çıktısına erişmek için .images[0] kullanın.

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]

LoRA

LoRA adaptörleri, bir temel hattın üzerine küçük bir stil veya konu kontrol noktası ekler. load_lora_weights() ile bir tane yükleyin. Bazı LoRA'lar bir tetikleyici ifade gerektirir. LoRA'nın model kartını kontrol edin.

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]

Kantizasyon ve optimizasyonlar

Büyük modeller genellikle daha az bellek veya daha fazla hız gerektirir. Bellekteki ağırlıkları küçültmek için quantization kullanın ve sonraki generate işlemlerini hızlandırmak için compile_repeated_blocks() kullanın. model offloading ve diğer seçenekler için Optimize and scale bölümüne bakın.

Daha az bellek kullanmak için bitsandbytes ile 4-bit olarak yükleyin.

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]

Daha sonraki çalıştırmaları hızlandırmak için transformer üzerindeki tekrarlanan blokları derleyin. Derlemeden sonraki ilk generate soğuk başlatmadır ve yavaştır. Sonraki generate çağrıları daha hızlıdır.

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]

Sonraki adımlar

Update on GitHub