主要功能
相关源文件
本页面全面概述了 Stable Diffusion Web UI 中的主要功能。重点介绍了系统的技术能力,解释了可能实现的功能以及主要功能的结构。有关具体的安装说明,请参阅安装与设置,有关 API 文档,请参阅API 参考。
核心生成能力
Stable Diffusion Web UI 提供多种 AI 图像生成方法,所有方法都通过基于 Gradio 构建的友好用户界面进行访问。
图像生成模式
- 文生图 (txt2img):根据文本提示生成图像
- 图生图 (img2img):使用文本提示转换现有图像
- 图像修复 (Inpainting):选择性地重新生成图像的局部区域
- 图像外绘制 (Outpainting):将图像扩展到其原始边界之外
- 额外功能 (Extras):应用放大、面部修复等后期处理
来源: webui.py1-162 README.md6-95
高级生成功能
- 提示词矩阵 (Prompt Matrix):通过提示词的变体生成多张图像
- X/Y/Z 图:通过改变多个参数来创建图像网格
- 文本反转训练 (Textual Inversion Training):创建用于表示概念的嵌入
- 超网络 (Hypernetworks) & LoRA:使用小型网络修改生成风格
- 模型合并器 (Checkpoint Merger):将多个模型合并为一个新模型
来源: README.md13-82
模型管理
Web UI 包含一个强大的系统来管理不同的 AI 模型、VAE 和额外网络
- 多种模型格式:支持 .ckpt 和 .safetensors 格式
- 自动 VAE 检测:自动 VAE 选择和管理
- 模型切换:无需重启 UI 即可在不同模型之间切换
- 内存管理选项:通过各种设置优化 VRAM 使用
关键模型管理功能
- 将多个模型同时加载到内存中
- 模型哈希验证以确保一致性
- 支持 SD1.x、SD2.x 和 SDXL 模型
- 模型元数据查看和编辑
来源: README.md59-80 README.md85-92 CHANGELOG.md590-596
采样器系统
Web UI 支持多种扩散模型的采样方法和调度器
可用采样器
- Euler a:祖先欧拉,以质量和速度受欢迎
- DPM++ 2M Karras:高质量结果,性能良好
- DDIM:原始 SD 实现的确定性扩散
- LCM:潜在一致性模型,用于极速采样
- UniPC:先进采样器,兼顾质量/速度的优秀平衡
- 还有更多具有不同权衡的采样器
调度器系统
调度器在采样过程中控制噪声水平,并且可以独立于采样器进行选择
- Karras:改进的噪声水平间隔
- Normal:标准噪声调度
- Simple:简化方法
- DDIM:原始调度器
- Exponential:不同的噪声衰减模式
来源: CHANGELOG.md14-22 CHANGELOG.md165-166 README.md34-36 CHANGELOG.md42-51 CHANGELOG.md284-286
扩展系统
Web UI 提供了一个强大的扩展系统,允许用户添加新功能
- 脚本架构:扩展可以定义新脚本和 UI 元素
- 回调系统:挂钩到生成过程的不同阶段
- 模型扩展:添加对自定义模型架构的支持
- 扩展管理器:在 UI 中安装、更新和管理扩展
来源: README.md65-67 CHANGELOG.md326-342 CHANGELOG.md437-477
API 集成
Web UI 提供了一个全面的 REST API 以供程序化访问
- 完全控制:通过 API 调用生成图像
- 参数访问:与 UI 相同的选项
- 无头模式 (Headless mode):在不启动浏览器界面的情况下运行
- 身份验证:可选的 API 身份验证
- 扩展访问:扩展可以添加自己的 API 端点
来源: webui.py17-45 README.md84 CHANGELOG.md328-330
配置系统
Web UI 提供了广泛的配置选项
- 命令行参数:控制启动行为
- 设置 UI:用于更改设置的用户友好界面
- UI 定制:重新排列元素、隐藏功能、更改主题
- 持久化配置:设置在会话之间保存
- 预设:保存和加载配置预设
来源: CHANGELOG.md631-632 README.md48-51
Web UI 包含全面的图像保存和元数据功能
- 参数保存在图像中:生成参数存储在 PNG 块或 EXIF 中
- 信息文本系统 (Infotext system):生成设置的全面记录
- 文件名模式:可自定义的文件名模板
- PNG 信息选项卡:从现有图像中检索设置
- 自动元数据恢复:自动从图像恢复设置
来源: modules/ui_tempdir.py1-101 README.md41-47
Web UI 包含针对各种硬件设置的众多优化
- VRAM 使用模式:完整、平衡、低 VRAM 选项
- 精度控制:全精度、半精度和混合精度选项
- 注意力优化方法:各种交叉注意力优化
- 内存高效扩展:xformers、sub-quadratic attention 等
- 批处理优化:批处理提示词、条件/无条件批处理
硬件支持
- NVIDIA GPU 支持:针对 CUDA 设备优化
- AMD GPU 支持:ROCm 支持 AMD 显卡
- Intel GPUs:通过 DirectML/IPEX 支持 Intel GPU
- Apple Silicon:支持 M1/M2 Mac 的 Metal
- CPU 备用方案:可在仅 CPU 系统上运行
来源: README.md38-39 README.md72-80 README.md97-101 CHANGELOG.md42-51 CHANGELOG.md284-286
UI 功能和定制
Web UI 包含许多增强用户体验的功能
- 实时预览:实时查看生成进度
- 主题系统:自定义 UI 外观
- 工具提示:UI 元素的有用鼠标悬停提示
- 参数编辑器:微调生成参数
- 响应式设计:可在桌面和移动设备上运行
- 键盘快捷键:快速访问常用功能
来源:README.md53-55 CHANGELOG.md601-602 CHANGELOG.md630-633
支持的模型类型表
| 模型类型 | 格式 | 描述 |
|---|
| SD 检查点 | .ckpt, .safetensors | 主要的扩散模型 |
| VAE | .pt, .ckpt, .safetensors | 用于潜在编码/解码的变分自编码器 |
| LoRA | .safetensors, .pt | 用于微调的低秩适应模型 |
| 超网络 | .pt, .safetensors | 修改 SD 模型行为的次要网络 |
| 文本反转 | .pt, .safetensors | 表示特定概念的嵌入 |
| LyCORIS | .safetensors | 具有附加功能的扩展 LoRA 格式 |
| SDXL | .safetensors, .ckpt | Stable Diffusion XL 模型 |
| 图像修复模型 | .safetensors, .ckpt | 用于图像修复的专用模型 |
| 超分辨率模型 | 多种 | 用于图像放大的模型 |
| GFPGAN/CodeFormer | .pth | 人脸修复模型 |
来源:README.md59-92 CHANGELOG.md283-286 CHANGELOG.md590-596
系统架构概览
来源: webui.py1-162 README.md6-95