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) de Jonathan Ho, Ajay Jain et Pieter Abbeel propose un modèle de diffusion portant le même nom. Dans la bibliothèque 🤗 Diffusers, DDPM désigne le discrete denoising scheduler de l’article ainsi que le pipeline.

L'abstract de l'article est :

Nous présentons des résultats de synthèse d’images de haute qualité à l’aide de modèles probabilistes de diffusion, une classe de modèles de variables latentes inspirée de considérations issues de la thermodynamique hors équilibre. Nos meilleurs résultats sont obtenus en entraînant sur une borne variationnelle pondérée, conçue selon une nouvelle connexion entre les modèles probabilistes de diffusion et l’ajustement du score de débruitage avec dynamique de Langevin. Nos modèles admettent naturellement un schéma de décompression progressive avec perte, qui peut être interprété comme une généralisation du décodage autorégressif. Sur le jeu de données non conditionnel CIFAR10, nous obtenons un score Inception de 9,46 et un score FID de l’état de l’art de 3,17. Sur LSUN 256x256, nous obtenons une qualité d’échantillons similaire à celle de ProgressiveGAN.

Le code source original peut être trouvé sur hohonathanho/diffusion.

Pensez à consulter le guide des Schedulers pour apprendre à explorer le compromis entre la vitesse et la qualité du scheduler, et à consulter la section réutilisation des composants entre les pipelines pour apprendre à charger efficacement les mêmes composants dans plusieurs pipelines.

DDPMPipeline

classe diffusers.DDPMPipeline

< >

( unet: UNet2DModelscheduler: DDPMScheduler )

Paramètres

Pipeline pour la génération d'images.

Ce modèle hérite de DiffusionPipeline. Consultez la documentation de la classe parente pour les méthodes génériques implémentées pour tous les pipelines (téléchargement, sauvegarde, exécution sur un appareil particulier, etc.).

__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

Paramètres

  • batch_size (int, facultatif, valeur par défaut 1) — Le nombre d'images à générer.
  • generator (torch.Generator, facultatif) — Un torch.Generator pour rendre la génération déterministe.
  • num_inference_steps (int, facultatif, valeur par défaut 1000) — Le nombre d'étapes de débruitage. Un plus grand nombre d'étapes de débruitage conduit généralement à une image de meilleure qualité, au prix d'une inférence plus lente.
  • output_type (str, facultatif, par défaut "pil") — Le format de sortie de l'image générée. Choisissez entre "pil" (PIL.Image), "np" (np.array) ou "pt" (torch.Tensor).
  • return_dict (bool, facultatif, par défaut True) — Indique s'il faut retourner un ImagePipelineOutput plutôt qu'un simple tuple.

Retourne

ImagePipelineOutput ou tuple

Si return_dict est True, ImagePipelineOutput est retourné, sinon un tuple est retourné dont le premier élément est une liste contenant les images générées

La fonction d'appel du pipeline pour la génération.

Exemple :

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

classe diffusers.ImagePipelineOutput

< >

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

Paramètres

  • images (List[PIL.Image.Image] ou np.ndarray) — Liste d'images PIL débruitées de longueur batch_size ou tableau NumPy de forme (batch_size, height, width, num_channels).

Classe de sortie pour les pipelines d’images.

Update on GitHub