Buckets:

mishig's picture
|
download
raw
5.67 kB

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[[diffusers.DDPMPipeline]]

diffusers.DDPMPipeline[[diffusers.DDPMPipeline]]

diffusers.DDPMPipeline(unet: UNet2DModel, scheduler: DDPMScheduler)

Kaynak

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ınmıştı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[[diffusers.DDPMPipeline.call]]

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

Kaynak

Parametreler:

batch_size (int, isteğe bağlı, varsayılan 1) : Üretilecek görsel sayısı.

generator (torch.Generator, isteğe bağlı) : Üretimi deterministik hale getirmek için 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") : Üretilen 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üş: ImagePipelineOutput veya tuple

return_dict True ise ImagePipelineOutput döndürülür, aksi halde ilk öğesi üretilen görüntülerin listesini içeren 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[[diffusers.ImagePipelineOutput]]

diffusers.ImagePipelineOutput[[diffusers.ImagePipelineOutput]]

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

Kaynak

Parametreler:

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

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

Xet Storage Details

Size:
5.67 kB
·
Xet hash:
73eac3ab7c553e203acc9fdb988bbad7ee8a1d9df2105f3c8af190766ca5abfd

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.