项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
技术标签
使用教程
—
环境要求
- Python 环境(README 未指定具体版本)
- 已安装 PyTorch(README 未指定版本)
- 可联网的 pip 环境(用于从 PyPI 安装包)
安装与启动步骤
-
1安装软件包
用 pip 从 PyPI 安装 denoising_diffusion_pytorch,这是 README 给出的唯一安装方式;请确认已提前装好 PyTorch。
pip install denoising_diffusion_pytorch -
2导入并构建 UNet
从包中导入 Unet 并实例化骨干网络,dim、dim_mults 控制各层通道与倍率,flash_attn 开启注意力加速。
from denoising_diffusion_pytorch import Unet model = Unet( dim = 64, dim_mults = (1, 2, 4, 8), flash_attn = True ) -
3初始化扩散模型
把 UNet 交给 GaussianDiffusion 封装,指定 image_size 与 timesteps(加噪/去噪步数),得到可直接调用的扩散对象。
from denoising_diffusion_pytorch import GaussianDiffusion diffusion = GaussianDiffusion( model, image_size = 128, timesteps = 1000 # number of steps ) -
4跑通前向与反向
用随机张量模拟一批训练图像(形状 8×3×128×128,取值归一化到 0~1),调用 diffusion 得到损失并反向传播。
import torch training_images = torch.rand(8, 3, 128, 128) # images are normalized from 0 to 1 loss = diffusion(training_images) loss.backward()
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
dim | 否 | UNet 基础通道维度,越大模型容量越高 | 64 |
dim_mults | 否 | 各层级通道倍率,决定下采样各阶段宽度 | (1, 2, 4, 8) |
flash_attn | 否 | 是否启用 Flash Attention 加速注意力计算 | True |
image_size | 否 | 训练图像尺寸,需与输入数据一致 | 128 |
timesteps | 否 | 扩散加噪/去噪的总步数 | 1000 |
如何确认成功
运行示例代码后,loss 为一个 tensor 且 loss.backward() 不报错,说明模型构建与前向流程正常。
常见问题
Q:需要 GPU 吗?
A:README 未明确硬件要求。示例中 flash_attn=True,通常配合 GPU 使用;若环境不支持该注意力实现,可参考包文档调整该参数。
Q:训练数据怎么准备?
A:README 示例用 torch.rand(8, 3, 128, 128) 代替真实数据,并注明图像需归一化到 0~1,形状为(批大小, 通道, 高, 宽)。
Q:怎么从噪声生成图像?
A:本次 README 节选只演示了 install、Unet 与 GaussianDiffusion 的前向计算,未给出采样示例,请查阅仓库完整 README。
Q:安装后导入报错怎么办?
A:先确认 PyTorch 已正确安装并可 import torch,再重新执行 pip install denoising_diffusion_pytorch;README 未提供其他安装方式。
注意事项
- README 的安装说明只有一条 pip 命令,其余依赖(如 PyTorch)需自行预先准备。
- 示例中的训练图像必须归一化到 0~1 区间,否则扩散过程的前向计算不符合预期。
- 本次节选未包含数据集加载、训练循环、采样生成等完整流程,实际训练需参考仓库完整文档。
核心亮点
- 代码结构清晰,与 DDPM 论文公式一一对应,适合学习扩散原理
- 支持多种噪声调度、条件生成和 DDIM 加速采样,扩展性强
- lucidrains 维护,社区活跃,被大量后续扩散项目引用和二次开发
不足之处
- 仅覆盖基础 DDPM,未内置 Stable Diffusion 等大规模文生图能力
- 训练和采样对显存与算力要求较高,缺少轻量化部署方案
适用场景
- 学习扩散模型原理并动手复现论文实验
- 在自有数据集上训练小规模图像生成模型
- 作为二次开发基线,改造为条件生成或加速采样研究
替代项目
stable-diffusion、imagen-pytorch
上一篇:Awesome-Ollama
下一篇:Vietnamese_LLMs
同类项目推荐
Machine-Learning
开源
跟着博客笔记,边看边跑机器学习代码
All content related to machine learning from my blog
awesome-claude-fable-5-prompt-va···
开源
一站式掌握 Claude Fable 5 玩法,快速选型不踩坑
Ultimate Claude Fable 5 Guide 2026: Use Cases, Integrations & Benchmarks
Diffusion-Models-Papers-Survey-T···
开源
学视频生成怕绕路?这份资料库帮你理清
Diffusion model papers, survey, and taxonomy
CoreML-Models
开源
下载即用的苹果端 AI 模型库,免去转换烦恼
Core ML model zoo for iOS/macOS — PyTorch models converted to ready-to-use .mlpacka···
