stable-diffusion-xl-base-1.0
简介
SDXL包含一个用于潜在扩散的专家集成管道: 首先,基础模型用于生成(带噪声的)潜在表示, 随后通过一个专门用于优化的精炼模型(下载地址:https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/)进一步处理这些潜在表示。
模型卡片
模型配置
模型详情
已翻译SD-XL 1.0-base 模型卡片

模型

SDXL 采用专家集成流水线架构进行潜在扩散:
第一步,使用 base 模型生成(带噪声的)潜在表示,
随后由专门负责最终去噪步骤的细化模型(下载地址:https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/)进一步处理。
请注意,base 模型也可作为独立模块单独使用。
此外,我们还可以采用如下两阶段流水线:
首先,使用 base 模型生成目标输出尺寸的潜在表示。
第二步,使用专门的高分辨率模型,对第一步生成的潜在表示应用 SDEdit 技术(https://arxiv.org/abs/2108.01073,也称为 "img2img"),
并采用相同的 prompt。该技术相比第一种方案略慢,因为需要更多的函数评估。
源代码地址:https://github.com/Stability-AI/generative-models
模型描述
- 开发者: Stability AI
- 模型类型: 基于扩散的文本到图像生成模型
- 许可证: CreativeML Open RAIL++-M License
- 模型描述: 该模型可根据文本 prompt 生成和修改图像。它是一个潜在扩散模型,使用两个固定且预训练的文本编码器(OpenCLIP-ViT/G 和 CLIP-ViT/L)。
- 更多信息资源: 请查阅我们的 GitHub 仓库 以及 arXiv 上的 SDXL 报告。
模型来源
出于研究目的,我们推荐使用 generative-models Github 仓库(https://github.com/Stability-AI/generative-models),该仓库实现了最流行的扩散框架(包括训练和推理),并且未来会逐步添加蒸馏等新功能。
Clipdrop 提供免费的 SDXL 推理服务。
- 仓库: https://github.com/Stability-AI/generative-models
- 演示: https://clipdrop.co/stable-diffusion
评估

上图评估了用户对 SDXL(含和不含细化处理)相较于 SDXL 0.9、Stable Diffusion 1.5 和 2.1 的偏好程度。
SDXL base 模型的性能显著优于之前的版本,而结合细化模块的模型则实现了最佳的整体性能。
🧨 Diffusers
请确保将 diffusers 升级至 >= 0.19.0:
pip install diffusers --upgrade
此外,请确保安装 transformers、safetensors、accelerate 以及不可见水印:
pip install invisible_watermark transformers accelerate safetensors
如果仅使用 base 模型,可以运行:
from diffusers import DiffusionPipeline
import torch
pipe = DiffusionPipeline.from_pretrained("stabilityai/stable-diffusion-xl-base-1.0", torch_dtype=torch.float16, use_safetensors=True, variant="fp16")
pipe.to("cuda")
# if using torch = 2.0` 时,通过 torch.compile 可将推理速度提升 20-30%。只需在运行流水线前用 torch compile 包装 unet 即可:
```py
pipe.unet = torch.compile(pipe.unet, mode="reduce-overhead", fullgraph=True)
如果受限于 GPU VRAM,可以通过调用 pipe.enable_model_cpu_offload 启用 cpu offloading,替代 .to("cuda"):
- pipe.to("cuda")
+ pipe.enable_model_cpu_offload()
有关如何使用 diffusers 运行 Stable Diffusion XL 的更多信息,请参阅 Stable Diffusion XL 文档。
Optimum
Optimum 提供了兼容 OpenVINO 和 ONNX Runtime 的 Stable Diffusion 流水线。
OpenVINO
安装包含 OpenVINO 所需依赖的 Optimum:
pip install optimum[openvino]
要加载 OpenVINO 模型并使用 OpenVINO Runtime 运行推理,需要将 StableDiffusionXLPipeline 替换为 Optimum 的 OVStableDiffusionXLPipeline。如果希望加载 PyTorch 模型并即时转换为 OpenVINO 格式,可以设置 export=True。
- from diffusers import StableDiffusionXLPipeline
+ from optimum.intel import OVStableDiffusionXLPipeline
model_id = "stabilityai/stable-diffusion-xl-base-1.0"
- pipeline = StableDiffusionXLPipeline.from_pretrained(model_id)
+ pipeline = OVStableDiffusionXLPipeline.from_pretrained(model_id)
prompt = "A majestic lion jumping from a big stone at night"
image = pipeline(prompt).images[0]
更多示例(如静态重塑和模型编译)可在 optimum 文档 中找到。
ONNX
安装包含 ONNX Runtime 推理所需依赖的 Optimum:
pip install optimum[onnxruntime]
要加载 ONNX 模型并使用 ONNX Runtime 运行推理,需要将 StableDiffusionXLPipeline 替换为 Optimum 的 ORTStableDiffusionXLPipeline。如果希望加载 PyTorch 模型并即时转换为 ONNX 格式,可以设置 export=True。
- from diffusers import StableDiffusionXLPipeline
+ from optimum.onnxruntime import ORTStableDiffusionXLPipeline
model_id = "stabilityai/stable-diffusion-xl-base-1.0"
- pipeline = StableDiffusionXLPipeline.from_pretrained(model_id)
+ pipeline = ORTStableDiffusionXLPipeline.from_pretrained(model_id)
prompt = "A majestic lion jumping from a big stone at night"
image = pipeline(prompt).images[0]
更多示例可在 optimum [文档](https://huggingface.co/docs/optimum/main/en/onnxruntim
正在翻译中,请稍候...