Stable Diffusion Version 2



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
-
新 stable diffusion finetune (稳定去CLIP 2.1, Hugging Face) at 768x768 resolution, based on SD2.1-768. This model allows for image variations 并且 mixing operations as described in Hierarchical Text-Conditional Image Generation with CLIP Latents,而且由于其模块化特性,可以与其他模型如结合使用 KARLO有两种变体: Stable unCLIP-L and Stable unCLIP-H这些是分别基于CLIP ViT-L和ViT-H图像嵌入的条件。 操作指南已提供 here.
-
A public demo of SD-unCLIP is already available at clipdrop.co/stable-diffusion-reimagine
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 数据集。
默认情况下,模型的注意力操作在以下情况下以全精度进行评估:xformersis not installed. To enable fp16 (which can cause numerical instabilities with the vanilla attention module on the v2.1 model) ,运行 your 脚本 withATTN_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
123 conda install pytorch==1.12.1 torchvision==0.13.1 -c pytorchpip install transformers==4.19.2 diffusers invisible-watermarkpip install -e .
xformers高效注意力
为了在GPU上实现更高的效率和速度
我们强烈建议安装该 xformers
图书馆。
在A100上使用CUDA 11.4测试。
安装需要一个较新的nvcc和gcc/g++版本,请获取这些工具,例如通过
1234 export CUDA_HOME=/usr/local/cuda-11.4conda install -c nvidia/label/cuda-11.4.0 cuda-nvccconda install -c conda-forge gccconda install -c conda-forge gxx_linux-64==9.5.0
然后,运行以下内容(编译可能需要最多30分钟)。
1234567 cd ..cd xformersgit submodule update --init --recursivepip install -r requirements.txtpip 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采样步骤显示出检查点的相对改进情况:

文本到图像


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
或者尝试网页演示版: .
从基础模型中进行采样,使用
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 的扩展*.
123 apt-get install numactl libjemalloc-devpip install intel-openmppip 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的模型进行示例,以获得性能提升,例如这样
1234 # SD2.1-vMALLOC_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-baseMALLOC_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进行图像修改

深度条件稳定扩散
为了加强已确立的 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时,模型会移除所有基于像素的信息,仅依赖文本提示和推断出的单目深度估计。

经典图像到图像
用于运行“经典”img2img,请使用
1 python scripts/img2img.py --prompt "A fantasy landscape, trending on artstation" --init-img --strength 0.8 --ckpt
并相应地调整检查点和配置路径。
使用Stable Diffusion进行图像放大

之后 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进行图像修复

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 仓库,但两者应该可以互换地与检查点/配置一起使用。
致谢
- 多亏了 Hugging Face 特别是 Apolinário 关于我们的模型发布支持!
- 没有Stable Diffusion是不可能的 LAION 以及他们努力创建开放的、大规模的数据集。
- The DeepFloyd team 在Stability AI,用于创建子集的 LAION-5B 用于训练模型的数据集。
- 稳定扩散2.0使用 OpenCLIP由……训练 Romain Beaumont.
- 我们对扩散模型的代码库大量借鉴了 OpenAI’s ADM codebase
and https://github.com/lucidrains/denoising-diffusion-pytorch.
谢谢开源! - CompVis 初始稳定扩散发布
- Patrick’s implementation 关于流式处理的演示示例。
img2img是的应用 SDEdit by Chenlin Meng from the Stanford AI Lab.- Kat’s implementation 的 PLMS 采样器,和 more.
- DPMSolver integration by Cheng Lu.
- 脸书的 xformers 为了高效地进行注意力计算。
- MiDaS 用于单目深度估计。
License
此仓库中的代码采用MIT许可证发布。
权重可通过以下方式获取 the StabilityAI organization at Hugging Face,并以以下方式发布 CreativeML Open RAIL+±M License 许可证。
BibTeX
12345678 @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 - 虚宝阁
本站部分源码来源于网络,版权归属原开发者,用户仅获得使用权。依据《计算机软件保护条例》第十六条,禁止:
- 逆向工程破解技术保护措施
- 未经许可的分发行为
- 去除源码中的原始版权标识
※ 本站源码仅用于学习和研究,禁止用于商业用途。如有侵权, 请及时联系我们进行处理。