lucidrains/denoising-diffusion-pytorch
Implementation of Denoising Diffusion Probabilistic Model in Pytorch
解决的问题
本项目提供了 Denoising Diffusion Probabilistic Models (DDPM) 的 PyTorch 实现。这是一种生成模型方法,通过学习逆转加噪过程来生成高质量的数据样本,旨在与 GAN 竞争。
工作原理
该系统使用 denoising score matching 来估计数据分布的梯度,并采用 Langevin sampling 从真实分布中生成样本。它采用 U-Net 架构进行去噪处理,并支持 2D 图像生成和 1D 序列生成。
适用对象
面向从事生成式 AI 研究的学者和开发人员,特别是那些正在寻找灵活的基于 PyTorch 的图像或序列扩散模型实现的人。
亮点
- 双模态支持:包含 2D 图像 (
GaussianDiffusion) 和 1D 序列 (GaussianDiffusion1D) 的实现。 - 简化的训练:提供
Trainer类来处理训练循环、日志记录以及从图像文件夹中进行检查点保存。 - 先进的训练技术:支持混合精度 (AMP)、指数移动平均 (EMA) 衰减以及通过 Hugging Face Accelerator 进行的多 GPU 训练。
- 探索性建模:包含用于训练期间多候选损失计算的
XMWrapper。 - 高效性:集成了 Flash Attention,以实现更快、更节省内存的处理。
相关
- Dispatch
- 项目
- 项目
- 项目
- 项目