Downloads · 30 days
12
1% of all-time downloads
fusing/ddim-lsun-bedroom
ddim-lsun-bedroom is a machine learning model from fusing. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for transformers.
Paper: Denoising Diffusion Implicit Models
Downloads · 30 days
12
1% of all-time downloads
All-time downloads
919
Public
Repo size
455 MB
Likes
0
Public
Click a slice to open those files.
.pt455 MB · 100%
From the Hugging Face model README
Paper: Denoising Diffusion Implicit Models
Abstract:
Denoising diffusion probabilistic models (DDPMs) have achieved high quality image generation without adversarial training, yet they require simulating a Markov chain for many steps to produce a sample. To accelerate sampling, we present denoising diffusion implicit models (DDIMs), a more efficient class of iterative implicit probabilistic models with the same training procedure as DDPMs. In DDPMs, the generative process is defined as the reverse of a Markovian diffusion process. We construct a class of non-Markovian diffusion processes that lead to the same training objective, but whose reverse process can be much faster to sample from. We empirically demonstrate that DDIMs can produce high quality samples 10× to 50× faster in terms of wall-clock time compared to DDPMs, allow us to trade off computation for sample quality, and can perform semantically meaningful image interpolation directly in the latent space.
Explanation on eta and num_inference_steps
num_inference_steps is called S in the following tableeta is called η in the following table
# !pip install diffusers
from diffusers import DiffusionPipeline
import PIL.Image
import numpy as np
model_id = "fusing/ddim-lsun-bedroom"
# load model and scheduler
ddpm = DiffusionPipeline.from_pretrained(model_id)
# run pipeline in inference (sample random noise and denoise)
image = ddpm(eta=0.0, num_inference_steps=50)
# process image to PIL
image_processed = image.cpu().permute(0, 2, 3, 1)
image_processed = (image_processed + 1.0) * 127.5
image_processed = image_processed.numpy().astype(np.uint8)
image_pil = PIL.Image.fromarray(image_processed[0])
# save image
image_pil.save("test.png")



