huggingface / huggingface/diffusers

BDIA-DDIM Scheduler

Offen
#9,957 15 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

stale
Vorherrschende Sprache
Python
Sterne
34.5k
Forks
7.3k
Ø Merge
3 T. 3 Std.
Gemergte PRs (30 T.)
91

Beschreibung

Model/Pipeline/Scheduler description

The BDIA-DDIM scheduler was first applied in stable diffusion in the ECCV 2024 paper "Exact Diffusion Inversion via Bi-directional Integration Approximation" by Guoqiang Zhang, J. P. Lewis, and W. Bastiaan Kleijn. Below are results from the initial implementation for text-to-image generation using StableDiffusion V2.

The BDIA-DDIM Scheduler improves image sampling quality over traditional DDIM through a more accurate integral approximation, with negligible computational overhead. Experiments further show that BDIA-DDIM produces markedly better image sampling qualities than DDIM for text-to-image generation, thanks to the more accurate integration approximation. Since the first implementation, I have forked the diffusers library to integrate BDIA-DDIM as an additional scheduler and have found it produces significantly better results, especially at lower timesteps.

BDIADDIM_t2i_20pairs

Open source status
  • The model implementation is available.
  • The model weights are available (Only relevant if addition is not a scheduler).
Provide useful links for the implementation

Original Paper: "Exact Diffusion Inversion via Bi-directional Integration Approximation" by Guoqiang Zhang, J. P. Lewis, and W. Bastiaan Kleijn.

Original Implementation: https://github.com/guoqiang-zhang-x/BDIA

My diffusers implementation: https://github.com/Jdh235/diffusers

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das BDIA-DDIM-Paper und die ursprüngliche BDIA-Implementierung zu lesen, und vergleiche dann den verlinkten diffusers-Fork mit dem aktuellen Repository. Ermittle, wie der Scheduler neben den vorhandenen Stable Diffusion-Schedulern eingeordnet werden sollte, und stelle sicher, dass sein Sampling-Verhalten abgedeckt ist, bevor du das Feature als vollständig betrachtest.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python, pytorch
Bereich
machine-learning
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.