Stable Diffusion AI绘画界的 扛把子

2025年09月13日 00:12:51
116
AI绘图 AI图像修复 AI图像风格迁移 免费商用

项目结构

📌 stablediffusion Stability-AI/stablediffusion

提到AI画图,没人能绕开Stable Diffusion!由Stability AI开源,支持文本生成图像、图像修复、风格迁移,关键是完全免费商用(非商用更没问题),普通电脑装个WebUI就能玩到飞起。

项目大小 70.24 Byte
涉及语言 Python 100.00%
许可协议 MIT License

Stable Diffusion Version 2

t2i
t2i
t2i

This reposit或者y contains Stable Diffusion models trained from scratch 并且 will be continuously updated with
new checkpoints. 的 following list provides an overview of all currently available models. More coming soon.

新闻

2023年3月24日

稳定去模糊 2.1

2022年12月7日

版本 2.1

  • 新的稳定扩散模型(Stable Diffusion 2.1-v, Hugging Face在768x768分辨率下_Stable Diffusion 2.1-base_, HuggingFace在512x512分辨率下,两者均基于与2.0相同数量的参数和架构,并在2.0上进行微调,采用比2.0更宽松的NSFW过滤设置 LAION-5B 数据集。
    默认情况下,模型的注意力操作在以下情况下以全精度进行评估: xformers is not installed. To enable fp16 (which can cause numerical instabilities with the vanilla attention module on the v2.1 model) ,运行 your 脚本 with ATTN_PRECISION=fp16 python

2022年11月24日

版本 2.0

  • New stable diffusion model (_Stable Diffusion 2.0-v_在768x768分辨率下。 与1.5版本的U-Net具有相同数量的参数,但使用 OpenCLIP-ViT/H 作为文本编码器,并且是从头开始训练的。 SD 2.0-v 是所谓的 v-prediction 模型。
  • 上述模型是从 SD 2.0基础模型,该模型是在512x512图像上作为标准的噪声预测模型进行训练的,并且也提供给用户使用。
  • 添加了一个 x4 upscaling latent text-guided diffusion model.
  • New depth-guided stable diffusion model,微调自 _SD 2.0-base_模型是基于通过单目深度估计推断出的条件进行的 MiDaS 并且可用于结构保持的img2img和形状条件生成。
  • A text-guided inpainting model,微调自SD 2.0-base.

我们遵循 original repository 并提供基本的推理脚本以从模型中进行采样。


原 Stable Diffusion 模型是在与合作中创建的 CompVis and RunwayML 并在此基础上开展工作:

High-Resolution Image Synthesis with Latent Diffusion Models

Robin Rombach*,
Andreas Blattmann*,
Dominik Lorenz,
Patrick Esser,
Björn Ommer

CVPR '22 Oral |
GitHub | arXiv | Project page

并且 many others.

稳定扩散是一种潜在的文本到图像扩散模型。


要求

您可以更新一个现有的 latent diffusion environment 由 running

1
2
3
conda install pytorch==1.12.1 torchvision==0.13.1 -c pytorch
pip install transformers==4.19.2 diffusers invisible-watermark
pip install -e .

xformers高效注意力

为了在GPU上实现更高的效率和速度
我们强烈建议安装该 xformers
图书馆。

在A100上使用CUDA 11.4测试。
安装需要一个较新的nvcc和gcc/g++版本,请获取这些工具,例如通过

1
2
3
4
export CUDA_HOME=/usr/local/cuda-11.4
conda install -c nvidia/label/cuda-11.4.0 cuda-nvcc
conda install -c conda-forge gcc
conda install -c conda-forge gxx_linux-64==9.5.0

然后,运行以下内容(编译可能需要最多30分钟)。

1
2
3
4
5
6
7
cd ..
cd xformers
git submodule update --init --recursive
pip install -r requirements.txt
pip install -e .
cd ../stablediffusion

在成功安装后,代码将自动默认为 memory efficient attention
对于U-Net和自编码器中的自注意力层和交叉注意力层。

免责声明

稳定扩散模型是通用的文本到图像扩散模型,因此会反映出存在的偏见和(错误的)观念
在他们的训练数据中。 尽管采取了措施减少包含露骨**内容的材料 we do not recommend using the provided weights for services 或者 products without additional safety mechanisms and considerations.
这些权重是研究产物,应被视为此类物品。

训练过程和数据的详细信息以及模型的预期用途可以在相应的文档中找到 model card.
权重可通过以下方式获取 the StabilityAI organization at Hugging Face 在…下面 CreativeML Open RAIL+±M 授权许可.

Stable Diffusion v2

Stable Diffusion v2指的是模型的一个特定配置
一种使用下采样因子为8的自动编码器和一个865M UNet的架构
以及用于扩散模型的OpenCLIP ViT-H/14文本编码器。 的 SD 2-v 模型产生768x768像素的输出。

使用不同的无分类器引导比例进行评估(1.5、2.0、3.0、4.0)
5.0、6.0、7.0、8.0)和50个DDIM采样步骤显示出检查点的相对改进情况:

sd evaluation results

文本到图像

txt2img-stable2
txt2img-stable2

Stable Diffusion 2 是一种基于 CLIP ViT-H/14 文本编码器的最终文本嵌入的潜变量扩散模型。
我们提供一个 reference script for sampling.

参考采样脚本

这个脚本包含了一个 invisible watermarking 关于输出,以帮助观众 identify the images as machine-generated.
我们提供以下配置 SD2-v (768px)和 SD2-base 512像素模型

首先,下载权重文件 SD2.1-v and SD2.1-base.

从…中采样 SD2.1-v 运行以下命令:

1
python scripts/txt2img.py --prompt "a professional photograph of an astronaut riding a horse" --ckpt  --config configs/stable-diffusion/v2-inference-v.yaml --H 768 --W 768 

或者尝试网页演示版: ![Hugging Face Spaces](https://img.shields.io/badge/🤗 Hugging Face-Spaces-blue).

从基础模型中进行采样,使用

1
python scripts/txt2img.py --prompt "a professional photograph of an astronaut riding a horse" --ckpt  --config  

默认情况下,此功能使用的是 DDIM sampler,并在50步内生成768x768大小的图像(这是它训练时使用的尺寸)。
从经验上看,可以使用较高的指导比例对v模型进行采样。

注意:所有模型版本的推理配置均设计用于仅使用EMA检查点。
因此 use_ema=False 已在配置中设置,否则代码将尝试从其切换
非EMA到EMA的权重。

启用 Intel® PyTorch 扩展* 文本到图像脚本中的优化

如果你计划在 Intel® CPU 上运行文本到图像生成,尝试使用 TorchScript 和 Intel® 扩展 for PyTorch 采样一张图像* 优化措施。 英特尔® PyTorch 扩展* 通过启用最新的功能优化,进一步提升在英特尔®硬件上的性能表现。 它可以优化运算符的内存布局以适应Channel Last内存格式,这通常对Intel CPU有益,可以利用机器上最先进的指令集,优化运算符等。

前提条件

在运行脚本之前,请确保已安装所有所需的库。 (优化已在以下环境中检查过 Ubuntu 20.04安装 jemalloc, numactlIntel® OpenMP 和 Intel® 对 PyTorch 的扩展*.

1
2
3
apt-get install numactl libjemalloc-dev
pip install intel-openmp
pip install intel_extension_for_pytorch -f https://software.intel.com/ipex-whl-stable

To sample 从的 SD2.1-v 使用TorchScript+IPEX优化的模型,运行以下命令。 请记住指定您希望在多少个实例上运行程序more).

1
MALLOC_CONF=oversize_threshold:1,background_thread:true,metadata_thp:auto,dirty_decay_ms:9000000000,muzzy_decay_ms:9000000000 python -m intel_extension_for_pytorch.cpu.launch --ninstance  --enable_jemalloc scripts/txt2img.py --prompt "a corgi is playing guitar, oil on canvas" --ckpt  --config configs/stable-diffusion/intel/v2-inference-v-fp32.yaml  --H 768 --W 768 --precision full --device cpu --torchscript --ipex

使用IPEX优化从基础模型中进行采样

1
MALLOC_CONF=oversize_threshold:1,background_thread:true,metadata_thp:auto,dirty_decay_ms:9000000000,muzzy_decay_ms:9000000000 python -m intel_extension_for_pytorch.cpu.launch --ninstance  --enable_jemalloc scripts/txt2img.py --prompt "a corgi is playing guitar, oil on canvas" --ckpt  --config configs/stable-diffusion/intel/v2-inference-fp32.yaml  --n_samples 1 --n_iter 4 --precision full --device cpu --torchscript --ipex

如果你使用的是支持CPU的 bfloat16考虑使用启用bfloat16的模型进行示例,以获得性能提升,例如这样

1
2
3
4
# SD2.1-v
MALLOC_CONF=oversize_threshold:1,background_thread:true,metadata_thp:auto,dirty_decay_ms:9000000000,muzzy_decay_ms:9000000000 python -m intel_extension_for_pytorch.cpu.launch --ninstance  --enable_jemalloc scripts/txt2img.py --prompt "a corgi is playing guitar, oil on canvas" --ckpt  --config configs/stable-diffusion/intel/v2-inference-v-bf16.yaml --H 768 --W 768 --precision full --device cpu --torchscript --ipex --bf16
# SD2.1-base
MALLOC_CONF=oversize_threshold:1,background_thread:true,metadata_thp:auto,dirty_decay_ms:9000000000,muzzy_decay_ms:9000000000 python -m intel_extension_for_pytorch.cpu.launch --ninstance  --enable_jemalloc scripts/txt2img.py --prompt "a corgi is playing guitar, oil on canvas" --ckpt  --config configs/stable-diffusion/intel/v2-inference-bf16.yaml --precision full --device cpu --torchscript --ipex --bf16

使用Stable Diffusion进行图像修改

depth2img-stable2

深度条件稳定扩散

为了加强已确立的 img2img 稳定扩散的功能,我们提供一个 保持形状 稳定扩散模型。

请注意,原始的图像修改方法相对于初始图像引入了显著的语义变化。
如果不需要的话,请下载我们的 depth-conditional stable diffusion 模型和的 dpt_hybrid MiDaS model weights将后者放入文件夹中 midas_models 以及通过样本

1
python scripts/gradio/depth2img.py configs/stable-diffusion/v2-midas-inference.yaml

or

1
streamlit run scripts/streamlit/depth2img.py configs/stable-diffusion/v2-midas-inference.yaml

此方法可用于基模型本身的样本上。
例如,拿 this sample 由一位匿名Discord用户生成。
使用该 gradio or streamlit script depth2img.py首先,MiDaS模型根据此输入推断出单目深度估计值
并且扩散模型随后会根据(相对)深度输出进行条件化。

depth2image

此模型对于逼*风格特别有用;参见以下内容 examples.
在最大强度为1.0时,模型会移除所有基于像素的信息,仅依赖文本提示和推断出的单目深度估计。

depth2img-stable3

经典图像到图像

用于运行“经典”img2img,请使用

1
python scripts/img2img.py --prompt "A fantasy landscape, trending on artstation" --init-img  --strength 0.8 --ckpt

并相应地调整检查点和配置路径。

使用Stable Diffusion进行图像放大

upscaling-x4
之后 downloading the weights, run

1
python scripts/gradio/superresolution.py configs/stable-diffusion/x4-upscaling.yaml

or

1
streamlit run scripts/streamlit/superresolution.py -- configs/stable-diffusion/x4-upscaling.yaml

用于Gradio或Streamlit演示的文本引导x4超分辨率模型。
此模型既可以用于*实输入,也可以用于合成示例。 对于后者,我们建议设置一个更高的
noise_level例如 noise_level=100.

使用Stable Diffusion进行图像修复

inpainting-stable2

Download the SD 2.0-inpainting checkpoint 并且运行

1
python scripts/gradio/inpainting.py configs/stable-diffusion/v2-inpainting-inference.yaml

or

1
streamlit run scripts/streamlit/inpainting.py -- configs/stable-diffusion/v2-inpainting-inference.yaml

用于图像修复模型的Gradio或Streamlit演示。
这个脚本为演示中的内容添加了不可见的水印 RunwayML 仓库,但两者应该可以互换地与检查点/配置一起使用。

致谢

License

此仓库中的代码采用MIT许可证发布。

权重可通过以下方式获取 the StabilityAI organization at Hugging Face,并以以下方式发布 CreativeML Open RAIL+±M License 许可证。

BibTeX

1
2
3
4
5
6
7
8
@misc{rombach2021highresolution,
      title={High-Resolution Image Synthesis with Latent Diffusion Models},
      author={Robin Rombach and Andreas Blattmann and Dominik Lorenz and Patrick Esser and Björn Ommer},
      year={2021},
      eprint={2112.10752},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

免责声明 © 2025 - 虚宝阁

本站部分源码来源于网络,版权归属原开发者,用户仅获得使用权。依据《计算机软件保护条例》第十六条,禁止:

  • 逆向工程破解技术保护措施
  • 未经许可的分发行为
  • 去除源码中的原始版权标识

※ 本站源码仅用于学习和研究,禁止用于商业用途。如有侵权, 请及时联系我们进行处理。

侵权举报请提供: 侵权页面URL | 权属证明模板

响应时效:收到完整材料后48小时内处理

相关推荐

presenton AI PPT 生成器

一个免费的、能完全在你自己电脑上运行的 AI PPT 生成工具。和那些必须联网、依赖服务商云服务的工具不同,Presenton 的核心优势在于本地优先和开放可控。 你的数据你做主, 所有生成演示文稿的过程都在你的电脑上完成。这意味着你的内容创意、上传的文件等敏感信息,无需上传到第三方云端服务器,隐私更有保障。自由选择AI模型,它不绑定任何一家 AI 服务商。你可以灵活选择。

2412 2025-09-14

ImageMagick: 图片处理瑞士军刀

ImageMagick是开源的命令行图片工具,压缩图片、转格式、加水印、切图都能一行命令搞定,还能批量处理如把100张图片批量压缩成WebP格式,自媒体、开发者都能用。

14651 2025-09-16

image-compressor: 前端图片压缩库

超轻量的前端图片压缩库,就像一个智能“图片瘦身教练”,能在浏览器里直接把大图片压缩到合适大小,而且不影响视觉效果。 • 压缩后仅20KB,比一张表情包还小 • 支持JPEG、PNG、WebP等主流格式 • 零依赖,原生JavaScript编写 • 每周下载量稳定在10万+

5660 2025-10-20

squish: 基于浏览器的图像压缩工具

一个现代、基于浏览器的图像压缩工具,结合了现代Web技术和WebAssembly的性能优势,为开发者提供了便捷的图像优化解决方案。无论是处理个人照片还是批量优化网站资源,Squish都能满足多样化的需求。

1022 2025-10-05

drawnix

开源白板工具(SaaS),一体化白板,包含思维导图、流程图、自由画等。All in one open-source whiteboard tool with mind, flowchart, freehand and etc.

11913 2025-08-28

OpenIsle- 轻量级的Java开源社区系统

这是一个基于 Spring Boot 和 Vue3 构建的开源自由社区系统,定位为轻量级的 Discourse。它完全开源、可二次开发,支持白名单邀请、自定义标签、实时通知等功能。

393 2025-09-13

ohmyzsh: 终端美化神器

Oh My Zsh是开源的Zsh配置管理器,装完终端瞬间变好看,还有自动补全、命令高亮、快捷别名,比如输“git st”就能代替“git status”,程序员敲命令快到飞起。 主要功能: 终端美化(支持几百个主题,比如经典的agnoster);命令自动补全(输一半按Tab自动补全);命令高亮(正确命令绿色,错误命令红色);快捷别名(自定义命令缩写,比如“ll”代替“ls -l”);插件扩展(比如git插件加很多git快捷命令)。

181910 2025-09-16

DeepFaceLab

换脸圈的“老大哥”,开源界扛把子,功能强到离谱。不管是图片换脸、长视频换脸,还是修复模糊人脸,它都能搞定。网上很多高质量换脸视频都出自它手,但毕竟是专业级选手,上手难度稍高,得花点时间研究流程,学会了就能玩出花。

18651 2025-09-14

Claudable:基于 Next.js 框架的网站生成器

把你用自然语言描述的应用想法,直接变成可以运行的网站代码。Claudable 背后依赖强大的 AI 编程助手,主要是 Claude Code,也支持 Cursor CLI 来理解你的需求并生成代码。你不需要懂复杂的 API 设置、数据库配置或者部署流程:用简单的语言告诉 Claudable 你想要什么应用。

2525 2025-09-15

jdenticon 独特几何头像生成器

一个用于生成独特且容易识别图像(identicons)的 JavaScript 库,可根据任意字符串(用户名、哈希值等)生成独特的几何图形,支持输出为 SVG 和 PNG 格式。

1591 2025-09-13