Home
Login

Eine fortschrittliche Bibliothek für Diffusionsmodelle, die die Generierung von Bildern, Videos und Audio unterstützt.

Apache-2.0Python 29.4khuggingfacediffusers Last Updated: 2025-06-23

🤗 Diffusers Projekt – Detaillierte Vorstellung

Projektübersicht

🤗 Diffusers ist die hochmoderne Bibliothek für Diffusionsmodelle von Hugging Face, die speziell für die Generierung von Bildern, Audio und sogar molekularen 3D-Strukturen entwickelt wurde. Egal, ob Sie nach einfachen Inferenzlösungen suchen oder Ihre eigenen Diffusionsmodelle trainieren möchten, 🤗 Diffusers ist ein modularer Werkzeugkasten, der beides unterstützt.

Projektadresse: https://github.com/huggingface/diffusers

Kernfunktionen

Designphilosophie

  • Benutzerfreundlichkeit vor Leistung (usability over performance)
  • Einfachheit vor Bequemlichkeit (simple over easy)
  • Anpassbarkeit vor Abstraktionen (customizability over abstractions)

Drei Kernkomponenten

  1. Hochmoderne Diffusions-Pipelines (Diffusion Pipelines)

    • Inferenz mit nur wenigen Codezeilen ausführen
    • Unterstützung für verschiedene Generierungsaufgaben
  2. Austauschbare Rausch-Scheduler (Noise Schedulers)

    • Unterstützung für unterschiedliche Diffusionsgeschwindigkeiten
    • Anpassbare Ausgabequalität
  3. Vorab trainierte Modelle (Pretrained Models)

    • Können als Bausteine verwendet werden
    • In Kombination mit Schedulern zur Erstellung von End-to-End-Diffusionssystemen

Installationsmethoden

PyTorch Version

# Offizielles Paket
pip install --upgrade diffusers[torch]

# Von der Community gepflegte Conda-Version
conda install -c conda-forge diffusers

Flax Version

pip install --upgrade diffusers[flax]

Schnellstart

Text-zu-Bild-Generierung

from diffusers import DiffusionPipeline
import torch

pipeline = DiffusionPipeline.from_pretrained("stable-diffusion-v1-5/stable-diffusion-v1-5", torch_dtype=torch.float16)
pipeline.to("cuda")
pipeline("An image of a squirrel in Picasso style").images[0]

Benutzerdefiniertes Diffusionssystem

from diffusers import DDPMScheduler, UNet2DModel
from PIL import Image
import torch

scheduler = DDPMScheduler.from_pretrained("google/ddpm-cat-256")
model = UNet2DModel.from_pretrained("google/ddpm-cat-256").to("cuda")
scheduler.set_timesteps(50)

sample_size = model.config.sample_size
noise = torch.randn((1, 3, sample_size, sample_size), device="cuda")
input = noise

for t in scheduler.timesteps:
    with torch.no_grad():
        noisy_residual = model(input, t).sample
    prev_noisy_sample = scheduler.step(noisy_residual, t, input).prev_sample
    input = prev_noisy_sample

image = (input / 2 + 0.5).clamp(0, 1)
image = image.cpu().permute(0, 2, 3, 1).numpy()[0]
image = Image.fromarray((image * 255).round().astype("uint8"))
image

Unterstützte Hauptaufgaben und Modelle

Aufgabe Pipeline Empfohlenes Modell
Unbedingte Bildgenerierung DDPMPipeline google/ddpm-ema-church-256
Text zu Bild StableDiffusionPipeline stable-diffusion-v1-5/stable-diffusion-v1-5
Text zu Bild (unCLIP) UnCLIPPipeline kakaobrain/karlo-v1-alpha
Text zu Bild (DeepFloyd IF) IFPipeline DeepFloyd/IF-I-XL-v1.0
Text zu Bild (Kandinsky) KandinskyPipeline kandinsky-community/kandinsky-2-2-decoder
Kontrollierbare Generierung StableDiffusionControlNetPipeline lllyasviel/sd-controlnet-canny
Bildbearbeitung StableDiffusionInstructPix2PixPipeline timbrooks/instruct-pix2pix
Bild zu Bild StableDiffusionImg2ImgPipeline stable-diffusion-v1-5/stable-diffusion-v1-5
Bildreparatur StableDiffusionInpaintPipeline runwayml/stable-diffusion-inpainting
Bildvarianten StableDiffusionImageVariationPipeline lambdalabs/sd-image-variations-diffusers
Bild-Superauflösung StableDiffusionUpscalePipeline stabilityai/stable-diffusion-x4-upscaler
Latente Raum-Superauflösung StableDiffusionLatentUpscalePipeline stabilityai/sd-x2-latent-upscaler

Dokumentstruktur

Dokumenttyp Lerninhalte
Tutorial Erlernen der grundlegenden Fähigkeiten der Bibliothek, wie z. B. die Verwendung von Modellen und Schedulern zum Aufbau von Diffusionssystemen, das Trainieren eigener Diffusionsmodelle
Loading Wie man alle Komponenten der Bibliothek (Pipelines, Modelle und Scheduler) lädt und konfiguriert und wie man verschiedene Scheduler verwendet
Pipelines for inference Wie man Pipelines für verschiedene Inferenzaufgaben, Batch-Generierung, Steuerung der Generierungsausgabe und Zufälligkeit verwendet
Optimization Wie man Pipelines optimiert, um sie auf Hardware mit begrenztem Speicher auszuführen und die Inferenz zu beschleunigen
Training Wie man eigene Diffusionsmodelle für verschiedene Aufgaben trainiert

Community-Ökosystem

Integrierte Projekte

  • Microsoft TaskMatrix
  • InvokeAI
  • InstantID
  • Apple ML Stable Diffusion
  • Lama Cleaner
  • Grounded Segment Anything
  • Stable DreamFusion
  • DeepFloyd IF
  • BentoML
  • Kohya_ss

Zusammenfassung

🤗 Diffusers ist derzeit eine der vollständigsten und benutzerfreundlichsten Bibliotheken für Diffusionsmodelle. Sie bietet nicht nur eine Vielzahl von vortrainierten Modellen und Pipelines, sondern unterstützt auch benutzerdefiniertes Training und Optimierung. Ob KI-Forscher, Entwickler oder Kreative, in dieser Bibliothek finden Sie die Werkzeuge, die Sie benötigen, um verschiedene generative KI-Anwendungen zu realisieren.

Star History Chart