Unconditional DDPM
The Challenge
Understanding diffusion models beyond pre-built libraries and implementing a complete image generation pipeline from scratch. The goal was to learn how Denoising Diffusion Probabilistic Models (DDPMs) work internally, including the forward noise process, reverse denoising process, U-Net architecture, timestep embeddings, and image sampling. The challenge involved translating the mathematical concepts of diffusion models into a working PyTorch implementation while maintaining stable training and meaningful image generation.
The Solution
Built an Unconditional DDPM from scratch using PyTorch. Implemented the complete diffusion pipeline including forward diffusion, reverse diffusion, noise scheduling, U-Net based noise prediction, sinusoidal timestep embeddings, model training, and image generation. Trained the model to progressively learn the denoising process and generate images starting from pure random noise. The project focused on understanding the core principles behind modern generative AI systems rather than relying on existing frameworks.
Final Designs


The Outcome
Successfully developed a working DDPM implementation capable of generating images through iterative denoising. Gained practical experience with generative AI, diffusion mathematics, U-Net architectures, noise scheduling, and probabilistic modeling. The project provided a strong foundation for exploring advanced topics such as Conditional Diffusion Models, Latent Diffusion, and modern image generation systems like Stable Diffusion.