Implementation of Denoising Diffusion Probabilistic Model in Pytorch
Features
Diffusion Models - Implements the Denoising Diffusion Probabilistic Model for generating images and sequences using a U-Net backbone.
Image Diffusion Models - Generates images by iteratively denoising random noise through a learned reverse diffusion process.
Diffusion Sampling Methods - Generates new data by iteratively applying the learned denoising step from random noise.
Diffusion Model Training - Trains a denoising diffusion probabilistic model on images or sequences using a U-Net backbone.
Automated Folder-Based Training - Automates the training loop for diffusion models by pointing at a folder of images, handling checkpointing and sample logging.
Noise-to-Image Generation - Trains a diffusion model on images and generates new images by reversing the noise process.
U-Net Architectures - Uses a symmetric encoder-decoder U-Net with skip connections for multi-scale spatial feature processing.
Sinusoidal Timestep Embeddings - Encodes the diffusion timestep using sinusoidal embeddings to condition the model on noise level.
Sinusoidal Encodings - Injects sinusoidal positional encodings of the diffusion step to condition predictions on noise level.
Diffusion Model Frameworks - Provides a PyTorch-based framework for training and sampling from diffusion models on images and one-dimensional data.
Gaussian Noise Diffusion - Defines a fixed variance schedule that progressively corrupts data from clean to pure noise.
Multi-GPU Training Distributions - Distributes diffusion model training across multiple GPUs using PyTorch's DistributedDataParallel for faster convergence.
1D - Generates new one-dimensional sequences like time series or audio features using a learned diffusion process.
Diffusion-Based - Trains a diffusion model on 1D sequence data and samples new sequences by reversing the noise process.
Sequence - Generates one-dimensional sequences like time series or audio features by applying a learned diffusion process.
Automated Training Pipelines - Automates the training loop for a diffusion model from a folder of images, handling checkpointing and logging.