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

Denoising Diffusion Probabilistic Models (DDPM) oleh Jonathan Ho, Ajay Jain, dan Pieter Abbeel mengusulkan model berbasis difusi dengan nama yang sama. Dalam pustaka 🤗 Diffusers, DDPM merujuk pada discrete denoising scheduler dari makalah tersebut serta pipeline-nya.

Abstrak dari makalah tersebut adalah:

Kami menyajikan hasil sintesis gambar berkualitas tinggi menggunakan model probabilistik difusi, sebuah kelas model variabel laten yang terinspirasi oleh pertimbangan dari termodinamika non-kesetimbangan. Hasil terbaik kami diperoleh dengan melatih pada batas variational berbobot yang dirancang berdasarkan koneksi baru antara model probabilistik difusi dan pencocokan skor denoising dengan dinamika Langevin, dan model kami secara alami menerima skema dekompresi progresif yang lossy yang dapat diinterpretasikan sebagai generalisasi dari decoding autoregressive. Pada dataset CIFAR10 unconditional, kami memperoleh skor Inception sebesar 9.46 dan skor FID state-of-the-art sebesar 3.17. Pada LSUN 256x256, kami memperoleh kualitas sampel yang serupa dengan ProgressiveGAN.

Kodebase asli dapat ditemukan di hohonathanho/diffusion.

Pastikan untuk melihat panduan Schedulers untuk mempelajari cara mengeksplorasi tradeoff antara kecepatan dan kualitas scheduler, serta lihat bagian reuse components across pipelines untuk mempelajari cara memuat komponen yang sama secara efisien ke dalam beberapa pipeline.

DDPMPipeline

kelas diffusers.DDPMPipeline

< >

( unet: UNet2DModelscheduler: DDPMScheduler )

Parameter

  • unet (UNet2DModel) — UNet2DModel untuk menghilangkan noise pada latens gambar yang telah dienkod.
  • scheduler (SchedulerMixin) — Scheduler yang digunakan bersama unet untuk menghilangkan noise dari gambar yang telah dienkod. Bisa berupa DDPMScheduler atau DDIMScheduler.

Pipeline untuk generasi gambar.

Model ini mewarisi dari DiffusionPipeline. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan untuk semua pipeline (mengunduh, menyimpan, menjalankan pada perangkat tertentu, dll.).

__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

Parameter

  • batch_size (int, opsional, default 1) — Jumlah gambar yang akan dihasilkan.
  • generator (torch.Generator, opsional) — torch.Generator untuk membuat generasi menjadi deterministik.
  • num_inference_steps (int, opsional, default 1000) — Jumlah langkah denoising. Semakin banyak langkah denoising, biasanya menghasilkan gambar dengan kualitas lebih tinggi, namun dengan biaya inferensi yang lebih lambat.
  • output_type (str, opsional, defaultnya "pil") — Format output dari gambar yang dihasilkan. Pilih antara "pil" (PIL.Image), "np" (np.array) atau "pt" (torch.Tensor).
  • return_dict (bool, opsional, defaultnya True) — Apakah akan mengembalikan ImagePipelineOutput alih-alih tuple biasa.

Mengembalikan

ImagePipelineOutput atau tuple

Jika return_dict adalah True, ImagePipelineOutput dikembalikan, selain itu sebuah tuple dikembalikan di mana elemen pertama adalah daftar dengan gambar yang dihasilkan

Fungsi panggilan untuk pipeline pada generasi.

Contoh:

>>> 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

kelas diffusers.ImagePipelineOutput

< >

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

Parameter

  • images (List[PIL.Image.Image] atau np.ndarray) — Daftar gambar PIL yang telah didenoise dengan panjang batch_size atau array NumPy dengan bentuk (batch_size, height, width, num_channels).

Kelas output untuk pipeline gambar.

Update on GitHub