DALLE-pytorch

用 PyTorch 复现 DALL-E,快速跑通文本生成图像实验

DALLE-pytorch 是 OpenAI 文本生成图像模型 DALL-E 的 PyTorch 非官方实现,旨在复现其核心架构与训练流程。该项目解决的是研究者无法直接访问原始模型权重时,如何基于公开论文进行实验与二次开发的问题。核心能力包括:完整的 VQGAN 离散编码器与解码器、基于 Transformer 的自回归文本-图像联合建模、CLIP 重排序机制,以及支持从零训练和微调的训练管线。代码模块化清晰,便于替换数据集和调整超参数,适合学术研究与原型验证。

开源 free 图像生成
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 5624
维护状态 低维护
是否开源 是
定价模式 free

项目数据

分类图像生成
开发团队lucidrains
所属国家
官网地址
定价模式free
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型artificial-intelligence,attention-mechanism,deep-learning,multi-modal,text-to-image,transformers
GitHub 星标★ 5624
30天Star增速
HF 下载量
上线时间2021-01-05 00:00:00
最近更新2026-09-22 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:进阶 约 30 分钟 部署方式:库/依赖 6 步

环境要求

  • Python 环境(需能 pip install)
  • PyTorch(含 CUDA 版本以便 GPU 训练)
  • 若要使用 Docker 训练,需安装 Docker 与 Docker Container Runtime
  • GPU(训练 DALL-E 建议使用,docker run 中带 --gpus all)

安装与启动步骤

  1. 1安装依赖库

    通过 pip 直接安装 dalle-pytorch 包,这是 README 中给出的唯一安装方式。

    pip install dalle-pytorch
  2. 2克隆仓库(建 Docker)

    若要用官方 Docker 训练,需先获取仓库源码,docker build 需要 docker 目录。

    git clone https://github.com/lucidrains/DALLE-pytorch.git
    cd DALLE-pytorch
  3. 3构建 Docker 镜像

    在仓库根目录执行,镜像名为 dalle,使用 docker 目录下的 Dockerfile 保证 PyTorch/CUDA 版本正确。

    docker build -t dalle docker
  4. 4启动容器交互训练

    挂载当前目录到 /workspace/dalle 并开启 GPU,进入容器后即可运行训练脚本。

    docker run --gpus all -it --mount src="$(pwd)",target=/workspace/dalle,type=bind dalle:latest bash
  5. 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. 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 数量,论文用 81928192
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

项目介绍

DALLE-pytorch 是图像领域的开源项目,由 lucidrains 开发,2021 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(5,624)位列前 8%,在图像分类的 839 个项目里位列前 5%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-22。MIT许可证,完全免费,可自行部署使用。

它主要面向的使用场景是:学术研究:复现论文实验,验证改进思路。同类可对比的替代方案包括 DALL-E 2 (OpenAI 官方)、Stable Diffusion、CogView2。

上一篇:awesome-gpt4o-images

下一篇:deep-daze

同类项目推荐

satori 开源

网页代码一键变高清图,放大不糊,不用截图

Enlightened library to convert HTML and CSS to SVG

★ 13967 2026-08-09
C2GAN 开源

用关键点精准控制图像生成,让AI画出你想要的结构

[ACM MM 2019 Oral] Cycle In Cycle Generative Adversarial Networks for Keypoint-Guide···

★ 70 2026-08-09
ComfyUI 开源

像搭积木一样连节点,生图流程自己搭

The most powerful and modular diffusion model GUI, api and backend with a graph/node···

★ 134493 2026-08-09