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
- 專案
- 專案
- 專案
- 專案