Skip to content
Projects

zoubohao/DenoisingDiffusionProbabilityModel-ddpm-

View on GitHub

zoubohao/DenoisingDiffusionProbabilityModel-ddpm- has 2,191 GitHub stars and 216 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-06 23:09 UTC. Last push 2023-04-24.

How these counts are measured

This may be the simplest implement of DDPM. You can directly run Main.py to train the UNet on CIFAR-10 dataset and see the amazing process of denoising.

Measured star growth

in 24h
+1
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

DenoisingDiffusionProbabilityModel

This may be the simplest implement of DDPM. I trained with CIFAR-10 dataset. The links of pretrain weight, which trained on CIFAR-10 are in the Issue 2.

If you really want to know more about the framwork of DDPM, I have listed some papers for reading by order in the closed Issue 1.

Lil' Log is also a very nice blog for understanding the details of DDPM, the reference is "https://lilianweng.github.io/posts/2021-07-11-diffusion-models/#:~:text=Diffusion%20models%20are%20inspired%20by,data%20samples%20from%20the%20noise."

HOW TO RUN

    1. You can run Main.py to train the UNet on CIFAR-10 dataset. After training, you can set the parameters in the model config to see the amazing process of DDPM.
    1. You can run MainCondition.py to train UNet on CIFAR-10. This is for DDPM + Classifier free guidence.

Some generated images are showed below:

    1. DDPM without guidence:

Generated Images without condition

    1. DDPM + Classifier free guidence:

Generated Images with condition

Explore related projects