🤗 Diffusers meets ⚡ PyTorch-Lightning: A simple and flexible training template for diffusion models.
Lightning Diffusers combines the power of Hugging Face Diffusers with the organization and scalability of PyTorch Lightning. This framework provides a clean, modular approach to training diffusion models with minimal boilerplate code.
- Modular Configuration: Separate configuration files for models, data, and training
- Experiment Tracking: Built-in integration with Weights & Biases
- Extensible Architecture: Easy to add new models, datasets, and callbacks
- Reproducible Experiments: Consistent training setup with configuration files
pip install git+https://github.com/creative-graphic-design/lightning-diffusers
WANDB_API_KEY=xxxxxxx uv run lightning-diffusers fit \
--config wandb/ddpm/config.yaml
WANDB_API_KEY=xxxxxxx uv run lightning-diffusers fit \
--data configs/data/mnist.yaml \
--model configs/models/ddpm.yaml \
--trainer configs/trainers/mnist_ddpm.yaml
configs/
: Configuration files for models, data, and trainerssrc/lightning_diffusers/
: Main packagemodels/
: PyTorch Lightning modules for diffusion modelscallbacks/
: Custom callbacks for training and visualizationcli.py
: Command-line interface
Currently implemented examples:
- MNIST DDPM (Denoising Diffusion Probabilistic Model)
This project is open source and available under the Apache License 2.0.