
DALLE2-pytorch
用 PyTorch 复现 DALL-E 2,轻松训练自己的文本生图模型
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 11303
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- 已安装 Python 与 pip(README 使用 pip 安装)
- 建议具备 NVIDIA GPU 与 CUDA 环境(README 示例代码使用 .cuda())
- 需自备训练数据与算力,README 只给出训练流程,未提供预训练权重或数据集下载
- 训练 CLIP 阶段建议配合 x-clip 或 open_clip 等社区复现项目
安装与启动步骤
-
1安装本库
使用 pip 安装 dalle2-pytorch,这是 README 中唯一给出的安装命令;建议在独立虚拟环境中执行以免污染全局环境。
pip install dalle2-pytorch -
2安装 CLIP 依赖
README 说明本仓库以 x-clip 为例演示集成,训练三步流程中最关键的是 CLIP,可先安装 x-clip 作为文本/图像编码器。
pip install x-clip -
3验证可导入
导入 README 中演示的 CLIP 类,能正常导入即说明包安装成功;若报错请检查 Python 与 pip 是否对应同一环境。
python -c "from dalle2_pytorch import CLIP; print('ok')" -
4按三步流程训练
README 指出训练分三步:先训 CLIP,再训 prior 网络,最后训扩散解码器;本仓库只实现了 diffusion prior 变体,需自行准备数据与算力。
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
dim_text | 是 | CLIP 文本嵌入维度,示例中为 512 | 512 |
dim_image | 是 | CLIP 图像嵌入维度,示例中为 512 | 512 |
num_text_tokens | 是 | 文本 tokenizer 词表大小,示例为 49408 | 49408 |
text_seq_len | 是 | 文本序列最大长度,示例为 256 | 256 |
use_all_token_embeds | 否 | 是否启用细粒度对比学习 FILIP | True |
decoupled_contrastive_learning | 否 | 是否使用解耦对比学习 DCL 目标函数 | True |
如何确认成功
运行 python -c "from dalle2_pytorch import CLIP",无报错即安装成功;训练是否有效需观察 CLIP 与 prior 的 loss 变化。
常见问题
Q:这是 OpenAI 官方的 DALL-E 2 吗?
A:不是。这是 lucidrains 维护的非官方 PyTorch 复现,README 明确说明自 2022/5/23 起该模型已不再是 SOTA,后续方向转向 Imagen 架构。
Q:只执行 pip install 就能文字生成图片吗?
A:不能。本仓库是训练与建模代码库,README 给出的三步训练流程(CLIP、prior、decoder)需要自备数据和算力,安装只是第一步。
Q:必须使用 GPU 吗?
A:README 示例代码中所有模型都调用了 .cuda(),因此建议在 NVIDIA GPU + CUDA 环境下运行,CPU 训练不现实。
Q:prior 网络有哪几种实现?
A:README 说明 prior 可以是自回归 transformer 或扩散网络,本仓库只实现了性能更好的扩散 prior 变体。
Q:CLIP 部分要怎么训?
A:README 建议使用 x-clip 包,或加入 LAION Discord 中已在进行的大量复现工作(如 open_clip)。
注意事项
- 本项目是非官方复现,README 声明其自 2022/5/23 起已不是 SOTA,新项目建议参考 Imagen 架构实现。
- 本仓库仅构建 diffusion prior 变体,未提供自回归 prior 实现。
- README 未给出预训练权重下载地址、端口或服务启动方式,任何此类命令都不要自行添加。
- 示例代码片段在 README 中出现重复(DiffusionPriorNetwork 定义多次),实际使用时只保留一份即可。
核心亮点
- 完整复现 DALL-E 2 核心架构,包含 CLIP、先验和扩散解码器,代码结构清晰
- 支持多种训练模式(无条件、文本条件、图像编辑),并提供了预训练权重加载
- 活跃维护,社区贡献多,兼容最新 PyTorch 版本,易于集成到现有项目
不足之处
- 训练资源需求高,个人开发者难以复现完整模型效果
- 文档/社区待观察:部分高级功能(如注意力控制)示例不足
适用场景
- 学术研究:快速验证 DALL-E 2 相关算法改进
- 创意设计:生成概念图、插画或辅助设计
- 教育学习:学习扩散模型和文本生成图像的实现细节
替代项目
OpenAI DALL-E 2(官方闭源)、Stable Diffusion、Imagen-pytorch
上一篇:LLMPapers
下一篇:Kandinsky-2
同类项目推荐
Awesome-Colorful-LLM
开源
一页看尽LLM多领域前沿进展,快速定位所需资源。
Recent advancements propelled by large language models (LLMs), encompassing an array···
nucleotide-transformer
开源
用大模型读懂DNA序列,一键提取基因组特征
Foundation Models for Genomics & Transcriptomics
awesome-opensource-ai
开源
每日更新,帮你精选最值得关注的真正开源AI项目。
Curated list of the best truly open-source AI projects, models, tools, and infrastru···
XR-1
开源
统一视觉与运动表征,让机器人模型学会跨任务泛化
Towards Versatile Vision-Language-Action Models via Learning Unified Vision-Motion R···
BitNet
开源
把大模型权重压到1-bit,省显存省算力
Implementation of "BitNet: Scaling 1-bit Transformers for Large Language Models" in ···
MNISTDiffusion
开源
从零手写扩散模型,4.5MB 轻量生成 MNIST 数字
Implement a MNIST(also minimal) version of denoising diffusion probabilistic model f···
Wuerstchen
开源
用更少算力训练出高质量文生图模型
Official implementation of Würstchen: Efficient Pretraining of Text-to-Image Models
SkyText-Chinese-GPT3
开源
开箱即用的中文GPT-3,写文章、聊天、翻译样样行
SkyText是由奇点智源发布的中文GPT3预训练大模型,可以进行文章续写、对话、中英翻译、内容···
LLaVA-pp
开源
给 LLaVA 换上 LLaMA-3/Phi-3 大脑,看图对话更聪明
LLaVA++: Extending LLaVA with Phi-3 and LLaMA-3 (LLaVA LLaMA-3, LLaVA Phi-3)