YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

DDPM-NumPy-from-Scratch

This repository contains a Denoising Diffusion Probabilistic Model (DDPM) implemented purely using NumPy for demonstration and educational purposes.

The goal of this project is to showcase a deep, fundamental understanding of Diffusion Models by building the core training and inference mechanics from scratch, without relying on high-level frameworks like PyTorch or TensorFlow.

🧠 Core Algorithmic Mechanics

This implementation includes a custom, low-level implementation of all critical components:

  • Forward and Reverse Diffusion: Full implementation of the noise scheduling process.
  • Time Embedding: Positional encoding of the timestep variable, essential for the Diffusion Model's MLP (Noise Predictor).
  • Custom Backpropagation: Manual gradient calculation for the MLP, demonstrating a solid grasp of deep learning fundamentals.
  • AdamW Optimizer: Implementation of the AdamW optimization algorithm from scratch.
  • Noise Scheduling: Utilization of the standard Cosine Scheduler for stable training.

πŸ› οΈ Project Structure and Verification

The clean structure ensures that the core logic is separate from the testing utilities:

  • src/ddpm_numpy_training.py: The complete core DDPM training and inference logic.
  • tests/test_ddpm_core.py: Comprehensive Unit Tests to verify the shape and correctness of all core functions (scheduler, time embedding, AdamW update, etc.).

βœ… Getting Started (Requirements)

Given the nature of the project, only the NumPy library is required:

pip install numpy
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support