A Denoising Diffusion Probabilistic Model (DDPM) implemented from scratch in PyTorch for unconditional anime face generation.
The model was trained on the Anime Face Dataset in a Kaggle Notebook using an NVIDIA Tesla T4 GPU. During inference, Exponential Moving Average (EMA) shadow weights together with DDIM sampling are used to generate higher-quality images with significantly fewer sampling steps.
Model Details
Property
Value
Model
DDPM
Framework
PyTorch
Architecture
Custom U-Net
Parameters
7.52 Million
Dataset
Anime Face Dataset
Image Resolution
64X64
Diffusion Timesteps
1000
Sampling
DDIM
EMA
Yes
Optimizer
AdamW
Available Checkpoints
This repository contains two checkpoints.
ddpm.pth
The standard model weights obtained directly after training.
ema.pth
The Exponential Moving Average (EMA) shadow weights.
These weights are recommended for inference because they generally produce sharper and more stable image generations.
Training
The model was trained entirely from scratch using PyTorch.
Training Configuration
Dataset: Anime Face Dataset
Training Platform: Kaggle
GPU: NVIDIA Tesla T4
Optimizer: AdamW
Diffusion Timesteps: 1000
EMA enabled during training
DDIM used during inference
Intended Use
This model is intended for
Learning diffusion models
Educational purposes
Research
Anime image generation
Experimenting with DDPMs
Limitations
Generates only anime-style faces.
Performance is limited to the distribution of the training dataset.
This is an unconditional diffusion model and cannot generate images from text prompts.
Citation
If you use this model in your work, please cite the original diffusion papers.
bibtex
1@article{ho2020ddpm,
2 title={Denoising Diffusion Probabilistic Models},
3 author={Jonathan Ho and others},
4 year={2020}
5}
67@article{song2020ddim,
8 title={Denoising Diffusion Implicit Models},
9 author={Jiaming Song and others},
10 year={2020}
11}