huggingface / huggingface/diffusers

BDIA-DDIM Scheduler

Aperta
#9,957 15 commenti 1 reazione 0 assegnatari Vedi su GitHub
stale
Lingua principale
Python
Stelle
34.5k
Fork
7.3k
Merge medio
3g 3h
PR unite (30g)
91

Descrizione

### 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"](https://arxiv.org/abs/2307.10829) 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](https://github.com/user-attachments/assets/45409384-6f8a-4d2c-97d4-333e1d2041df)

### Open source status

- [X] 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"](https://arxiv.org/abs/2307.10829) 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

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia leggendo il paper BDIA-DDIM e l’implementazione originale di BDIA, poi confronta il fork di diffusers collegato con il repository attuale. Determina come lo scheduler dovrebbe integrarsi con gli scheduler Stable Diffusion esistenti e verifica che il suo comportamento di sampling sia coperto prima di considerare completa la funzionalità.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python, pytorch
Ambito
machine-learning
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.