菜单

概述

相关源文件

Stable Diffusion Web UI 是一个基于浏览器的图形用户界面,用于 Stable Diffusion,这是一种深度学习文本到图像模型。该界面使用户能够通过各种深度学习技术生成、编辑和增强图像,而无需具备广泛的技术知识。该应用程序为文本到图像、图像到图像、图像修复、图像扩展以及各种其他图像处理功能提供了一套全面的功能。

本概述介绍了 Stable Diffusion Web UI 系统的架构、关键组件和工作流程。有关安装说明,请参阅 安装和设置,有关使用该界面的详细指南,请参阅 Web UI 指南

系统架构

Stable Diffusion Web UI 采用模块化架构构建,将用户界面、图像生成管线、模型管理和扩展系统分离开来。这种设计提供了灵活性、可扩展性和高效的资源利用。

核心组件图

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

该架构包含几个核心组件

  1. Web UI:用户与之交互的图形界面,使用 Gradio 构建
  2. API:用于以编程方式访问所有功能的 RESTful API
  3. SD 模型管理:处理 Stable Diffusion 模型的加载、切换和优化
  4. 图像生成管线:处理用户输入并生成图像
  5. 额外网络:管理 LoRA、Textual Inversions、Hypernetworks 等额外网络
  6. 配置系统:处理用户偏好和系统设置
  7. 扩展系统:允许通过自定义脚本扩展功能

初始化与启动过程

应用程序的启动过程遵循特定顺序来初始化组件、加载模型和准备用户界面。

启动顺序图

来源: webui.py18-46 webui.py48-154

启动顺序包括

  1. 解析命令行参数并准备环境
  2. 初始化系统,包括发现和加载模型
  3. 创建 UI 或 API 接口(或两者兼有)
  4. 启动服务器并打开浏览器(如果不是仅 API 模式)

webui.py 文件是主要入口点,它处理两种主要启动模式

  • 标准 UI 模式(webui() 函数)
  • 仅 API 模式(无 UI)(api_only() 函数)

图像生成流程

系统的核心是图像生成管线,它使用 Stable Diffusion 模型将用户提示和参数转换为图像。

生成管线图

来源: README.md6-73

图像生成管线包括

  1. 处理类:以 StableDiffusionProcessing 为基类,具有文本到图像(StableDiffusionProcessingTxt2Img)和图像到图像(StableDiffusionProcessingImg2Img)的专用子类
  2. 核心生成process_images 函数协调生成过程
  3. 采样:各种采样方法(DDIM、Euler 等)实现为采样器
  4. 引导CFGDenoiser 应用无分类器引导
  5. 模型组件:SD 模型包含一个文本编码器(CLIP)、用于噪声预测的 UNet 和用于编码/解码图像的 VAE
  6. 脚本:扩展可以在各个点挂钩到生成过程中

扩展系统

Stable Diffusion Web UI 通过其脚本和扩展系统具有高度可扩展性,允许开发人员添加新功能。

扩展系统架构

来源: README.md66-69 README.md16-22

扩展系统提供

  1. 脚本基类:用于创建可在图像生成过程中运行的脚本的基础
  2. 脚本类型:
    • AlwaysOn:为每次生成运行的脚本
    • Selectable:用户可以选择激活的脚本
  3. 回调系统:应用程序生命周期中各个点的挂钩
  4. 自定义扩展:可以安装完整的扩展以添加重要功能

配置系统

配置系统管理用户偏好、系统设置和命令行选项。

配置系统图

来源: webui.py48-70

配置系统由以下部分组成

  1. 命令行参数:由 cmd_args.py 处理以进行初始设置
  2. 共享选项:由 shared_options.py 管理,用于用户偏好
  3. 共享状态shared.py 模块作为应用程序状态的中央存储库
  4. UI 配置:存储在 ui_config.json 中,用于 UI 特定设置
  5. 配置状态:管理配置的保存和加载

设置按类别组织,以便在 UI 设置选项卡中轻松管理。

临时文件管理

Stable Diffusion Web UI 使用临时目录系统来管理生成的图像和其他临时文件。

来源: modules/ui_tempdir.py1-101

临时文件系统

  1. 允许用户指定自定义临时目录
  2. 向 Gradio 注册生成的图像以供显示
  3. 处理 PNG 元数据以保留生成参数
  4. 提供清理功能以删除临时文件

主要功能

Stable Diffusion Web UI 提供了丰富的特性集,扩展了基础 Stable Diffusion 模型的功能。有关这些功能的全面指南,请参阅 主要功能

主要功能包括:

功能类别描述
生成模式文本到图像、图像到图像、图像修复、图像扩展
特殊技术提示矩阵、X/Y/Z 图、文本反演、超网络、LoRA
图像处理GFPGAN 人脸修复、RealESRGAN 放大、各种 VAE 选项
用户体验实时预览、提示编辑、样式系统、参数管理
可扩展性自定义脚本、扩展、API 访问

来源: README.md6-94

系统要求

该系统根据所需功能和性能有不同的硬件要求。有关详细要求,请参阅 系统要求

组件最低要求推荐要求
显卡4GB VRAM(优化后可能需要 2GB)8GB+ 显存
内存8GB16GB+
磁盘空间10GB20GB+ 用于模型
操作系统Windows 10/11, Linux, macOSWindows 10/11, Linux

来源: README.md97-102

总结

Stable Diffusion Web UI 通过模块化、可扩展的架构提供了对 Stable Diffusion 模型全面的界面。其关键组件包括 Web 界面、图像生成管线、模型管理系统和扩展系统。该应用程序遵循结构化的初始化过程,并提供强大的配置选项。

通过支持各种生成模式、模型类型和扩展功能,它为普通用户和开发人员都提供了灵活的平台。该系统设计得易于访问,同时仍为高级用户提供高级功能。