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
  • 项目
  • 项目
  • 项目
  • 项目