Buckets:
DDPM
Denoising Diffusion Probabilistic Models (DDPM), de Jonathan Ho, Ajay Jain y Pieter Abbeel, propone un modelo de difusión con el mismo nombre. En la biblioteca 🤗 Diffusers, DDPM se refiere tanto al discrete denoising scheduler del artículo como al pipeline.
El resumen del artículo es:
Presentamos resultados de alta calidad en la síntesis de imágenes utilizando modelos probabilísticos de difusión, una clase de modelos de variables latentes inspirados en consideraciones de la termodinámica de no equilibrio. Nuestros mejores resultados se obtienen entrenando sobre un límite variacional ponderado diseñado según una conexión novedosa entre los modelos probabilísticos de difusión y el denoising score matching con dinámica de Langevin, y nuestros modelos admiten de forma natural un esquema de descompresión progresiva con pérdida que puede interpretarse como una generalización de la decodificación autoregresiva. En el conjunto de datos no condicionado CIFAR10, obtenemos una puntuación Inception de 9,46 y una puntuación FID del estado del arte de 3,17. En LSUN 256x256, obtenemos una calidad de muestra similar a la de ProgressiveGAN.
El código original se puede encontrar en hohonathanho/diffusion.
Asegúrate de consultar la guía de Schedulers para aprender a explorar el equilibrio entre la velocidad y la calidad del scheduler, y consulta la sección reutilizar componentes entre pipelines para aprender a cargar eficientemente los mismos componentes en múltiples pipelines.
DDPMPipeline[[diffusers.DDPMPipeline]]
diffusers.DDPMPipeline[[diffusers.DDPMPipeline]]
diffusers.DDPMPipeline(unet: UNet2DModel, scheduler: DDPMScheduler)
Parámetros:
unet (UNet2DModel) : Un UNet2DModel para desruidar los latentes de imagen codificados.
scheduler (SchedulerMixin) : Un scheduler para usar en combinación con unet para desruidar la imagen codificada. Puede ser uno de DDPMScheduler o DDIMScheduler.
Pipeline para la generación de imágenes.
Este modelo hereda de DiffusionPipeline. Consulta la documentación de la clase superior para los métodos genéricos implementados en todas las tuberías (descarga, guardado, ejecución en un dispositivo específico, etc.).
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)
Parámetros:
batch_size (int, opcional, valor predeterminado 1) : El número de imágenes a generar.
generator (torch.Generator, opcional) : Un torch.Generator para hacer que la generación sea determinista.
num_inference_steps (int, opcional, valor predeterminado 1000) : El número de pasos de desruido. Más pasos de desruido suelen conducir a una imagen de mayor calidad a costa de una inferencia más lenta.
output_type (str, opcional, por defecto "pil") : El formato de salida de la imagen generada. Elija entre "pil" (PIL.Image), "np" (np.array) o "pt" (torch.Tensor).
return_dict (bool, opcional, por defecto True) : Si se debe devolver un ImagePipelineOutput en lugar de una tupla simple.
Devuelve: ImagePipelineOutput o tuple
Si return_dict es True, se devuelve ImagePipelineOutput; en caso contrario, se devuelve una tuple cuyo primer elemento es una lista con las imágenes generadas
La función de llamada para el pipeline de generación.
Ejemplo:
>>> 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)
Parámetros:
images (List[PIL.Image.Image] o np.ndarray) : Lista de imágenes PIL desruidas de longitud batch_size o matriz NumPy de forma (batch_size, height, width, num_channels).
Clase de salida para pipelines de imágenes.
Xet Storage Details
- Size:
- 5.55 kB
- Xet hash:
- b42c5c854d3774f434dac2de3a6f9890aea08ca4064e329f3b1796adbbf1904e
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.