pytorch-stable-diffusion

手写 Stable Diffusion 源码,从论文到图像生成一步到位

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

项目预览

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

项目数据

分类图像生成
开发团队hkproj
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,需自行部署。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Jupyter Notebook
技术栈/模型diffusion-models,latent-diffusion-models,paper-implementations,pytorch,pytorch-implementation,stable-diffusion
GitHub 星标★ 1086
上线时间2023-09-24 00:00:00
代码更新2024-10-22
仓库体积1.1 MB
本站数据更新2026-11-11
维护状态低维护
收录时间2026-08-09
浏览次数4

项目介绍

这是一个从零开始、逐行实现 Stable Diffusion 的 PyTorch 教程项目,完全基于论文《High-Resolution Image Synthesis with Latent Diffusion Models》复现,不依赖现成的扩散模型库。它解决了初学者难以理解 Stable Diffusion 内部原理的问题,通过清晰的代码结构和详细的 Jupyter Notebook 讲解,逐步拆解 VAE、U-Net、CLIP 文本编码器、扩散过程、采样器(如 DDPM、DDIM)等核心组件。项目覆盖了从模型架构到训练、推理的完整流程,并提供了预训练权重加载和图像生成示例。核心能力包括:完整的代码实现、论文对照讲解、模块化设计便于二次开发,以及支持自定义训练和采样。适合希望深入理解扩散模型原理、从事 AI 绘画底层研究或进行模型定制的开发者。

Star 增长趋势

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

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

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 6 步

⚠ 该项目 README 未提供完整安装说明,以下步骤为通用流程,请以官方文档为准。

环境要求

  • 能运行 Jupyter Notebook 的本地环境(README 未给出具体依赖安装步骤)
  • Git(用于克隆仓库,README 未显式说明)
  • 足够的磁盘空间存放 stable-diffusion-v1-5 的权重文件
  • 可访问 Hugging Face 网站以下载模型与分词器文件

安装与启动步骤

  1. 1克隆项目仓库

    从 GitHub 获取源码,README 未提供安装命令,此步为通用准备动作,需自行准备 Jupyter 环境。

    git clone https://github.com/hkproj/pytorch-stable-diffusion.git
  2. 2进入项目目录

    切换到仓库根目录,后续下载的权重与分词器文件都要放在其 data 目录下。

    cd pytorch-stable-diffusion
  3. 3创建 data 目录

    README 要求把文件保存到 data 文件夹,若目录不存在需先创建,注意大小写与路径。

    mkdir -p data
  4. 4下载分词器文件

    打开 stable-diffusion-v1-5 的 tokenizer 页面,下载 vocab.json 和 merges.txt 两个文件,保存到 data 文件夹。

  5. 5下载模型权重

    从 stable-diffusion-v1-5 仓库主页面下载 v1-5-pruned-emaonly.ckpt,保存到 data 文件夹,文件较大请耐心等待。

  6. 6(可选)下载微调权重

    README 测试过任意不超过 v1.5 的微调 ckpt,如 InkPunk Diffusion、Illustration Diffusion,下载后同样放入 data。

如何确认成功

README 未给出启动命令,确认 data 目录下已存在 vocab.json、merges.txt、v1-5-pruned-emaonly.ckpt 三个文件即完成准备。

常见问题

Q:下载的文件应该放在哪里?

A:README 明确要求全部保存在项目的 data 文件夹中,包括 vocab.json、merges.txt 和 v1-5-pruned-emaonly.ckpt。

Q:必须用官方的 v1-5 权重吗?

A:不是。README 说明可以下载任意微调版 Stable Diffusion 的 ckpt(最高到 v1.5 版本)放入 data 使用。

Q:分词器文件从哪下载?

A:从 huggingface.co 的 stable-diffusion-v1-5 仓库 tokenizer 目录下载 vocab.json 与 merges.txt 两个文件。

Q:README 为什么没有安装依赖的命令?

A:README 节选中只提供了权重与分词器的下载说明,未给出 pip 安装或运行命令,需自行参考项目 Notebook。

注意事项

  • README 未提供任何 pip/conda 依赖安装命令,运行前请自行确认 Python 与 PyTorch 环境可用。
  • 权重文件为 Hugging Face 网页链接,需手动下载或用浏览器/命令行工具获取,README 未给出直链命令。
  • 除官方 v1-5 权重外,README 还验证过 InkPunk Diffusion 与 Illustration Diffusion 两类微调模型。

核心亮点

  • 逐模块复现论文,代码与公式一一对应,学习曲线清晰
  • 不依赖高封装库,暴露全部底层细节,便于深入研究和魔改
  • Jupyter Notebook 形式,图文并茂,适合教学和自学者

不足之处

  • 训练代码示例较少,主要侧重推理和结构讲解
  • 文档/社区待观察

适用场景

  • 深度学习研究者快速理解扩散模型原理
  • AI 绘画开发者定制或优化 Stable Diffusion 底层结构
  • 高校或培训机构的生成模型课程教学

替代项目

diffusers、stable-diffusion-webui、k-diffusion

上一篇:sd-akashic

下一篇:GenAI_LLM_timeline

同类项目推荐

LakonLab 开源

用流匹配加速图像生成,训练快、采样快、效果稳

Official implementation of AsymFlow, pi-Flow, GMFlow

★ 487 2026-08-09
Awesome_Multimodel_LLM 开源

一站式收藏多模态大模型资源,快速跟上最新进展

Awesome_Multimodel is a curated GitHub repository that provides a comprehensive coll···

★ 379 2026-08-09
scMulan 开源

用大模型统一搞定单细胞分析多任务,零样本也能预测

Repository for paper scMulan: a multitask generative pre-trained language model for ···

★ 64 2026-08-09
Consistency_LLM 开源

让大模型并行吐字,推理速度翻倍

[ICML 2024] CLLMs: Consistency Large Language Models

★ 418 2026-08-09
ml-slowfast-llava 开源

不训练也能做视频问答,双路抽帧直接跑出强基线

SlowFast-LLaVA: A Strong Training-Free Baseline for Video Large Language Models

★ 295 2026-09-15
MakeMoneyWithAI 开源

翻开源清单,找能赚钱的 AI 项目,快速变现

A list of open-source AI projects you can use to generate income easily.

★ 1203 2026-08-09
OpenGPTAndBeyond 开源

汇总开源大模型实现,快速上手ChatGPT类技术

Open efforts to implement ChatGPT-like models and beyond.

★ 107 2026-08-09
Awesome-LLM-KG 开源

一页看懂LLM与知识图谱融合的所有关键论文

Awesome papers about unifying LLMs and KGs

★ 2620 2026-08-09