This project is for learning and understand Denoising Diffusion Probabilistic Model and Classifier-Free Diffusion Guidance. The model is trained on ImageNetDogs dataset with 120 different types of dogs and 20000+ samples. The generation image size is 128*128.