Diffusers documentation

DDPM

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

DDPM

Jonathan Ho, Ajay Jain ve Pieter Abbeel tarafından önerilen Denoising Diffusion Probabilistic Models (DDPM), aynı adı taşıyan difüzyon tabanlı bir modeldir. 🤗 Diffusers kütüphanesinde DDPM, hem makaledeki discrete denoising scheduler'a hem de pipeline'a atıfta bulunur.

Makalenin özeti şudur:

Nonequilibrium termodinamiğinden ilham alan gizli değişkenli modeller sınıfı olan difüzyon olasılıksal modelleri kullanarak yüksek kaliteli görüntü sentez sonuçları sunuyoruz. En iyi sonuçlarımız, difüzyon olasılıksal modeller ile Langevin dinamiğine sahip gürültü giderme skoru eşleştirmesi arasındaki yeni bir bağlantıya göre tasarlanmış ağırlıklı varyasyonel sınır üzerinde eğitim alarak elde edilmektedir ve modellerimiz, otoregresif çözümlemenin bir genelleştirmesi olarak yorumlanabilen kademeli kayıplı sıkıştırma kaldırma şemasını doğal olarak kabul etmektedir. Koşulsuz CIFAR10 veri setinde 9.46 Inception skoru ve 3.17 ile alanın en iyisi FID skoru elde ediyoruz. 256x256 LSUN üzerinde, ProgressiveGAN'a benzer örnek kalitesi elde ediyoruz.

Orijinal kod tabanı hohonathanho/diffusion adresinde bulunabilir.

Scheduler'lar kılavuzunu inceleyerek scheduler hızı ve kalitesi arasındaki ödünleşimi nasıl keşfedebileceğinizi öğrenin ve aynı bileşenleri birden fazla pipeline'a nasıl verimli bir şekilde yükleyebileceğinizi öğrenmek için pipeline'lar arasında bileşenleri yeniden kullanma bölümüne göz atın.

DDPMPipeline

sınıf diffusers.DDPMPipeline

< >

( unet: UNet2DModelscheduler: DDPMScheduler )

Parametreler

  • unet (UNet2DModel) — Kodlanmış görüntü latentlerini gürültüden arındırmak için kullanılan bir UNet2DModel.
  • scheduler (SchedulerMixin) — Kodlanmış görüntüyü gürültüden arındırmak için unet ile birlikte kullanılacak bir zamanlayıcı. DDPMScheduler veya DDIMScheduler olabilir.

Görsel üretimi için pipeline.

Bu model DiffusionPipeline sınıfından devralır. Tüm pipeline'lar için uygulanan genel yöntemlerin (indirme, kaydetme, belirli bir cihazda çalıştırma vb.) belgelerini üst sınıfın dokümantasyonunda bulabilirsiniz.

__call__

< >

( batch_size: int = 1generator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonenum_inference_steps: int = 1000output_type: str | None = 'pil'return_dict: bool = True ) → ImagePipelineOutput or tuple

Parametreler

  • batch_size (int, isteğe bağlı, varsayılan 1) — Üretilecek görüntü sayısı.
  • generator (torch.Generator, isteğe bağlı) — Üretimi deterministik hale getirmek için kullanılan bir torch.Generator.
  • num_inference_steps (int, isteğe bağlı, varsayılan 1000) — Gürültü azaltma adım sayısı. Daha fazla gürültü azaltma adımı genellikle daha yavaş çıkarım pahasına daha yüksek kaliteli bir görüntüye yol açar.
  • output_type (str, isteğe bağlı, varsayılan "pil") — Oluşturulan görüntünün çıktı biçimi. "pil" (PIL.Image), "np" (np.array) veya "pt" (torch.Tensor) arasında seçim yapın.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Düz bir tuple yerine ImagePipelineOutput döndürülüp döndürülmemesi.

Dönüş değeri

ImagePipelineOutput veya tuple

return_dict True ise ImagePipelineOutput döndürülür, aksi halde ilk öğesi üretilen görüntülerin listesinden oluşan bir tuple döndürülür

Üretim için pipeline'ın çağrı fonksiyonu.

Örnek:

>>> from diffusers import DDPMPipeline

>>> # load model and scheduler
>>> pipe = DDPMPipeline.from_pretrained("google/ddpm-cat-256")

>>> # run pipeline in inference (sample random noise and denoise)
>>> image = pipe().images[0]

>>> # save image
>>> image.save("ddpm_generated_image.png")

ImagePipelineOutput

sınıf diffusers.ImagePipelineOutput

< >

( images: list[PIL.Image.Image] | numpy.ndarray )

Parametreler

  • images (List[PIL.Image.Image] veya np.ndarray) — Uzunluğu batch_size olan gürültüsü azaltılmış PIL görselleri listesi veya (batch_size, height, width, num_channels) biçiminde NumPy dizisi.

Görüntü hatları için çıktı sınıfı.

Update on GitHub