菜单

主要功能

相关源文件

本页面全面概述了 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, .ckptStable Diffusion XL 模型
图像修复模型.safetensors, .ckpt用于图像修复的专用模型
超分辨率模型多种用于图像放大的模型
GFPGAN/CodeFormer.pth人脸修复模型

来源:README.md59-92 CHANGELOG.md283-286 CHANGELOG.md590-596

系统架构概览

来源: webui.py1-162 README.md6-95