DALLE-pytorch

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 图像生成 🍴 复刻 637 🐛 待处理 125 👀 关注 91
GitHub ↗
GitHub 星标 ★ 5629
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,可自行部署使用。

项目预览

DALLE-pytorch 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类图像生成
开发团队lucidrains
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型artificial-intelligence,attention-mechanism,deep-learning,multi-modal,text-to-image,transformers
GitHub 星标★ 5629
上线时间2021-01-05 00:00:00
代码更新2024-02-17
仓库体积13.8 MB
本站数据更新2026-11-09
维护状态低维护
收录时间2026-08-09
浏览次数4

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 5629

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 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

上一篇:awesome-gpt4o-images

下一篇:deep-daze

同类项目推荐

dalle2_python 开源

在终端里输入一句话,直接生成 AI 图片。

DALLE2 in the command line.

★ 113 2026-08-09
luna 开源

输入文字,快速生成图像,简化 Stable Diffusion 使用

text to image generation with stable diffusion

★ 65 2026-08-09
clarity-upscaler 开源

糊图一键变高清,免费开源随便用

Clarity AI | AI Image Upscaler & Enhancer - free and open-source Magnific Alternativ···

★ 5173 2026-08-09
CogView 开源

用文字描述,一键生成高质量图像

Text-to-Image generation. The repo for NeurIPS 2021 paper "CogView: Mastering Text-t···

★ 1800 2026-08-09
ComfyUI-TBG-ETUR 开源

把图放大到2亿像素,还能逐块控制细节和创意

TBG Enhanced Tiled Upscaler and Refiner upscales up to 200MP with precise control. I···

★ 160 2026-08-09
DiffusionPen 开源

用扩散模型精准控制手写体风格,生成你想要的笔迹

Official PyTorch Implementation of "DiffusionPen: Towards Controlling the Style of H···

★ 112 2026-08-09
vue-pwa-asset-generator 开源

一条命令生成全套 PWA 图标和启动图,告别手动切图

PWA asset generator perfect with VueJS framework (but useful for all PWA!)

★ 175 2026-08-09
Image-AI-Generator-2026 开源

桌面一键生成高质量 AI 图像,从创意到成品快人一步

AI Image Generator is a powerful and user-friendly desktop application designed to h···

★ 53 2026-08-09
multi-subject-render 开源

一次生成多个复杂主体,告别主体丢失和混淆

Generate multiple complex subjects all at once!

★ 376 2026-08-09