
DALLE-pytorch
用 PyTorch 复现 DALL-E,快速跑通文本生成图像实验
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 5629
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- Python 环境(需能 pip install)
- PyTorch(含 CUDA 版本以便 GPU 训练)
- 若要使用 Docker 训练,需安装 Docker 与 Docker Container Runtime
- GPU(训练 DALL-E 建议使用,docker run 中带 --gpus all)
安装与启动步骤
-
1安装依赖库
通过 pip 直接安装 dalle-pytorch 包,这是 README 中给出的唯一安装方式。
pip install dalle-pytorch -
2克隆仓库(建 Docker)
若要用官方 Docker 训练,需先获取仓库源码,docker build 需要 docker 目录。
git clone https://github.com/lucidrains/DALLE-pytorch.git cd DALLE-pytorch -
3构建 Docker 镜像
在仓库根目录执行,镜像名为 dalle,使用 docker 目录下的 Dockerfile 保证 PyTorch/CUDA 版本正确。
docker build -t dalle docker -
4启动容器交互训练
挂载当前目录到 /workspace/dalle 并开启 GPU,进入容器后即可运行训练脚本。
docker run --gpus all -it --mount src="$(pwd)",target=/workspace/dalle,type=bind dalle:latest bash -
5创建 VAE 模型
在 Python 中导入 DiscreteVAE 并按 README 示例设置图像尺寸、层数、视觉 token 数等参数。
import torch from dalle_pytorch import DiscreteVAE vae = DiscreteVAE( image_size = 256, num_layers = 3, num_tokens = 8192, codebook_dim = 512, hidden_dim = 64, num_resnet_blocks = 1, temperature = 0.9, straight_through = False, ) -
6跑一次 VAE 前向传播
用随机图像张量验证模型能正常计算损失并反向传播,确认依赖和 GPU 配置无误。
images = torch.randn(4, 3, 256, 256) loss = vae(images, return_loss = True) loss.backward()
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
image_size | 是 | 输入图像尺寸,256 时下采样 3 次得到 32x32 特征图 | 256 |
num_layers | 是 | 下采样层数,决定特征图大小 | 3 |
num_tokens | 是 | 视觉离散 token 数量,论文用 8192 | 8192 |
codebook_dim | 是 | 码本维度 | 512 |
hidden_dim | 是 | 隐藏层维度 | 64 |
temperature | 否 | Gumbel softmax 温度,越低离散化越硬 | 0.9 |
如何确认成功
执行 vae(images, return_loss=True) 可正常返回 loss 并 loss.backward() 不报错,说明环境与模型配置正确。
常见问题
Q:必须从源码安装吗?
A:不必。README 直接给出 pip install dalle-pytorch,普通使用只需 pip 安装即可。
Q:没有 GPU 能训练吗?
A:Docker 命令使用 --gpus all 面向 GPU 训练;无 GPU 时需自行调整运行方式,README 未提供纯 CPU 训练命令。
Q:Docker 镜像名是什么?
A:README 示例构建为 dalle,运行命令使用 dalle:latest,可按需自行改名。
Q:容器里代码放在哪?
A:docker run 将当前目录挂载到 /workspace/dalle,进入容器后在该路径下操作。
注意事项
- README 仅给出 VAE 部分的 Python 示例,Transformer 训练与 CLIP 重排序细节需参考官方 wiki
- num_tokens 可按项目规模调小以降低显存占用
- temperature 越低离散化越强,可按需调整
- Docker 运行需确保宿主机已安装 Docker 与 Container Runtime 并支持 GPU
核心亮点
- 完整复现 DALL-E 的 VQGAN + Transformer 架构,代码结构清晰易读
- 提供训练脚本和推理示例,支持自定义数据集,上手门槛低
- 社区活跃,持续更新,兼容最新 PyTorch 版本
不足之处
- 训练资源需求高,普通显卡难以复现完整效果
- 文档偏重代码注释,缺少系统性的架构讲解
- 生成图像分辨率较低,与官方模型存在差距
适用场景
- 学术研究:复现论文实验,验证改进思路
- 教学演示:理解文本到图像生成的核心原理
- 原型开发:快速搭建基于文本生成图像的 MVP
替代项目
DALL-E 2 (OpenAI 官方)、Stable Diffusion、CogView2
下一篇:deep-daze
同类项目推荐
dalle2_python
开源
在终端里输入一句话,直接生成 AI 图片。
DALLE2 in the command line.
luna
开源
输入文字,快速生成图像,简化 Stable Diffusion 使用
text to image generation with stable diffusion
clarity-upscaler
开源
糊图一键变高清,免费开源随便用
Clarity AI | AI Image Upscaler & Enhancer - free and open-source Magnific Alternativ···
CogView
开源
用文字描述,一键生成高质量图像
Text-to-Image generation. The repo for NeurIPS 2021 paper "CogView: Mastering Text-t···
ComfyUI-TBG-ETUR
开源
把图放大到2亿像素,还能逐块控制细节和创意
TBG Enhanced Tiled Upscaler and Refiner upscales up to 200MP with precise control. I···
DiffusionPen
开源
用扩散模型精准控制手写体风格,生成你想要的笔迹
Official PyTorch Implementation of "DiffusionPen: Towards Controlling the Style of H···
vue-pwa-asset-generator
开源
一条命令生成全套 PWA 图标和启动图,告别手动切图
PWA asset generator perfect with VueJS framework (but useful for all PWA!)
Image-AI-Generator-2026
开源
桌面一键生成高质量 AI 图像,从创意到成品快人一步
AI Image Generator is a powerful and user-friendly desktop application designed to h···
multi-subject-render
开源
一次生成多个复杂主体,告别主体丢失和混淆
Generate multiple complex subjects all at once!