菜单

安装与设置

相关源文件

本文档提供了安装和设置 Stable Diffusion v1(一种潜在文本到图像扩散模型)的分步说明。它涵盖了环境配置、依赖项安装、模型权重获取和初始验证步骤。有关安装后使用 Stable Diffusion 的信息,请参阅使用指南

系统要求

安装前,请确保您的系统满足以下要求

组件最低要求
显卡拥有至少 10GB VRAM 的 NVIDIA GPU
CUDACUDA 11.3 兼容驱动程序
磁盘空间10GB+(更多用于存储生成的图像)
内存建议 16GB
操作系统Linux、Windows(使用 WSL)或 macOS

来源:README.md18-20

安装流程概述

安装过程遵循以下主要步骤

1. Conda 环境设置

Stable Diffusion 需要一个具有多个依赖项的特定 Python 环境。推荐的方法是使用 Conda 进行环境管理。

1.1 创建一个新的 Conda 环境

这将使用 environment.yaml 文件中指定的必要依赖项创建一个名为 ldm(Latent Diffusion Models)的 Conda 环境并激活它。

1.2 更新现有环境

如果您已经从 latent diffusion 仓库的现有环境,您可以使用以下命令进行更新

来源:README.md22-38 environment.yaml1-31

2. 依赖项

该项目依赖于几个关键的软件包和库

主要依赖项包括

  1. PyTorch & TorchVision - 深度学习框架
  2. Transformers - 用于 CLIP 文本编码器
  3. Diffusers - 用于扩散模型组件
  4. Taming Transformers - 用于自动编码器
  5. Invisible Watermark - 用于给生成的图像添加水印
  6. CLIP - 用于文本条件化

来源:environment.yaml5-31

3. 模型权重

Stable Diffusion v1 使用预训练模型权重运行,这些权重必须单独下载。

3.1 可用的模型版本

以下是可用的检查点

检查点描述训练步数
sd-v1-1.ckpt在 laion2B-en 和 laion-high-resolution 上训练的基础模型256×256 分辨率下 237k,512×512 分辨率下 194k
sd-v1-2.ckpt从 v1-1 恢复,在 laion-aesthetics v2 5+ 上训练512×512 分辨率下 515k
sd-v1-3.ckpt从 v1-2 恢复,文本条件化 dropout 10%512×512 分辨率下 195k
sd-v1-4.ckpt从 v1-2 恢复,文本条件化 dropout 10%512×512 分辨率下 225k

3.2 获取权重

模型权重可通过 Hugging Face 上的CompVis 组织获得,但受特定许可证的约束,该许可证限制了某些类型的用途。这些限制在许可证和使用限制页面上有详细说明。

3.3 设置模型目录

获取权重后,您需要将它们放置在正确的位置

这将创建必要的目录结构并将模型检查点链接到预期位置。

来源:README.md56-66 README.md93-97

4. 目录结构

安装后,您的项目目录应具有以下结构

此结构至关重要,因为代码在加载模型和配置时会引用这些特定路径。

来源:README.md93-97

5. 初始验证

完成安装过程后,您可以通过运行一个简单的文本到图像生成来验证一切是否设置正确

此命令将

  1. 从您配置的路径加载模型
  2. 使用默认设置运行 PLMS 采样器
  3. 根据提示生成图像
  4. 将结果保存到 outputs/ 目录

如果此命令运行成功并生成图像,则表示您的安装正常工作。

来源:README.md98-101

6. 故障排除

以下是一些常见问题及其解决方案

问题可能解决方案
CUDA 内存不足错误使用 --n_samples 标志降低批次大小
未找到模型验证 model.ckpt 的路径是否正确
缺少依赖项再次运行 pip install -r requirements.txt
图像质量低尝试不同的采样方法或使用 --ddim_steps 增加步数

7. 使用 Diffusers 库进行安装(替代方法)

对于希望简化安装过程的用户,也可以通过 Hugging Face diffusers 库使用 Stable Diffusion

此方法需要较少的设置,但无法像完整仓库那样访问所有自定义选项。

来源:README.md147-165

8. 许可证和使用注意事项

Stable Diffusion 模型根据 CreativeML Open RAIL-M 许可证发布,其中包含特定的使用限制。在使用模型之前,尤其是在商业应用中,您应仔细阅读这些限制。

模型可能反映其训练数据中存在的偏见。有关法律要求和道德考量的完整详细信息,请参阅许可证和使用限制

来源:README.md50-52 LICENSE1-83