菜单

启动选项

相关源文件

本页面介绍了 Stable Diffusion Web UI 可用的命令行参数和启动选项。这些选项控制应用程序如何启动、配置资源、启用功能以及建立网络连接。有关环境配置的信息,请参阅环境配置

启动流程概述

Web UI 启动流程包含多个阶段,从解析命令行参数到启动 Web 界面或 API 服务器。

来源:launch.py27-48 modules/launch_utils.py463-469

命令行参数

命令行参数在modules/cmd_args.py中定义,可以直接在启动脚本时传入。参数可以通过以下两种方式提供:

  1. 直接在命令行中:python launch.py --argument1 --argument2 value2
  2. 通过COMMANDLINE_ARGS环境变量

核心启动参数

这些参数控制着启动过程的基础方面。

参数描述
--skip-python-version-check绕过 Python 版本兼容性检查
--skip-torch-cuda-test跳过检查 CUDA 是否与 PyTorch 正常工作
--skip-prepare-environment跳过环境准备(安装包等)
--precision {full,half,autocast}设置计算精度模式
--upcast-sampling将采样向上转换为更高的精度以获得更好的质量
--no-half防止模型被切换到 16 位浮点数
--no-half-vae防止 VAE 模型被切换到 16 位浮点数
--skip-install跳过安装包
--data-dir设置所有用户数据存储的基础路径
--reinstall-torch强制重新安装 torch
--reinstall-xformers强制重新安装 xformers
--update-check启动时检查更新
--dump-sysinfo将系统信息转储到 JSON 文件并退出

来源:modules/cmd_args.py6-128 modules/launch_utils.py367-446

硬件和优化参数

这些参数用于配置硬件使用和性能优化。

参数描述
--xformers启用 xformers 以处理交叉注意力层
--force-enable-xformers即使兼容性检查失败也强制启用 xformers
--xformers-flash-attention为 SD2.x 模型启用带 Flash Attention 的 xformers
--opt-channelslast将 stable diffusion 的内存类型更改为 channels last
--medvram启用中等 VRAM 使用的优化(牺牲部分速度)
--lowvram启用低 VRAM 使用的优化(速度明显变慢)
--lowram将模型权重加载到 VRAM 而不是 RAM
--opt-split-attention优先使用 Doggettx 的交叉注意力优化
--opt-sub-quad-attention优先使用子二次交叉注意力优化
--opt-split-attention-invokeai优先使用 InvokeAI 的交叉注意力优化
--opt-sdp-attention优先使用缩放点积注意力(需要 PyTorch 2.*)
--opt-sdp-no-mem-attention与上面相同,但不使用内存高效注意力
--disable-opt-split-attention禁用交叉注意力优化
--use-cpu对指定的模块使用 CPU 而不是 GPU
--disable-nan-check禁用 NaN 输出检查
--use-ipex使用 Intel XPU 作为 torch 设备
--device-id选择特定的 CUDA 设备

来源:modules/cmd_args.py58-107 modules/launch_utils.py381-397

网络和 API 参数

这些参数配置网络连接和 API 设置。

参数描述
--listen使服务器监听网络连接
--port指定要使用的端口(默认:7860)
--share通过 gradio.app 创建一个公共 URL
--ngrok通过 ngrok 创建一个公共 URL(需要认证令牌)
--api在 Web UI 的同时启用 API
--nowebui仅运行 API 服务器,不运行 Web UI
--api-auth设置 API 访问的用户名:密码
--api-log记录所有 API 请求
--gradio-auth设置 Web UI 访问的用户名:密码
--gradio-auth-path包含认证凭据的文件路径
--cors-allow-origins设置允许的 CORS 源(逗号分隔)
--cors-allow-origins-regex将允许的 CORS 源设置为正则表达式
--tls-keyfileTLS 私钥文件路径
--tls-certfileTLS 证书文件路径
--server-name设置服务器主机名(默认:localhost)
--timeout-keep-alive设置 uvicorn 的 timeout_keep_alive(默认:30)
--subpath自定义 Gradio 的子路径(在使用反向代理时很有用)

来源:modules/cmd_args.py77-128 modules/launch_utils.py463-469

模型加载参数

这些参数控制加载哪些模型以及如何配置它们。

参数描述
--ckpt要加载的特定检查点文件的路径
--ckpt-dir包含模型检查点的目录
--vae-dir包含 VAE 文件的目录
--vae-path要使用的特定 VAE 检查点
--config模型构建的配置文件路径
--no-download-sd-model如果找不到默认模型,则阻止下载
--models-dir模型存储的基础目录
--ui-debug-mode跳过加载模型以快速启动 UI
--skip-load-model-at-start启动时跳过加载模型(仅限 API)

来源:modules/cmd_args.py22-29 modules/cmd_args.py99-126

扩展参数

这些参数控制扩展如何加载和管理。

参数描述
--allow-code允许从 Web UI 执行自定义脚本
--disable-all-extensions完全禁用所有扩展
--disable-extra-extensions禁用所有扩展,但内置扩展除外
--enable-insecure-extension-access无论设置如何,都启用扩展选项卡
--update-all-extensions启动时更新所有扩展

来源:modules/cmd_args.py38-52 modules/cmd_args.py123-124 modules/launch_utils.py440-442

UI 自定义参数

这些参数影响用户界面的外观和行为。

参数描述
--theme设置浅色或深色主题
--use-textbox-seed使用文本框代替滑块来输入种子
--disable-console-progressbars禁用控制台中的进度条
--no-progressbar-hiding在 UI 中显示进度条(可能会影响性能)
--freeze-settings禁止全局编辑所有设置
--freeze-settings-in-sections禁止编辑特定的设置部分
--freeze-specific-settings禁止编辑特定的单个设置
--ui-config-fileUI 配置文件路径
--ui-settings-fileUI 设置文件路径
--gradio-debug使用 debug 选项启动 Gradio
--no-prompt-history禁用提示历史记录功能
--styles-file样式文件路径(可指定多个)
--autolaunch启动时自动打开浏览器
--hide-ui-dir-config在 Web UI 中隐藏目录配置

来源:modules/cmd_args.py80-128

环境变量

几个环境变量可以影响启动过程

环境变量描述默认值
GITgit 可执行文件路径"git"
INDEX_URLpip 的 PyPI 索引 URL""
TORCH_INDEX_URLPyTorch 包索引"https://download.pytorch.org/whl/cu121"
TORCH_COMMAND安装 torch 的命令"pip install torch==2.1.2 torchvision==0.16.2 --extra-index-url {torch_index_url}"
REQS_FILE要使用的 requirements 文件"requirements_versions.txt"
XFORMERS_PACKAGE要安装的 Xformers 包"xformers==0.0.23.post1"
CLIP_PACKAGECLIP 包来源GitHub URL
OPENCLIP_PACKAGEOpenCLIP 包来源GitHub URL
WEBUI_LAUNCH_LIVE_OUTPUT是否打印命令输出"0"

来源:modules/launch_utils.py23-33 modules/launch_utils.py318-348 modules/sysinfo.py13-35

启动流程详解

准备阶段

启动过程中,系统会执行几个准备步骤:

  1. 检查 Python 版本兼容性
  2. 安装或验证 torch 及其他依赖项
  3. 克隆必要的仓库
  4. 从 requirements 文件安装依赖
  5. 运行扩展安装程序

此准备阶段可以通过各种参数进行自定义,或者完全跳过,使用--skip-prepare-environment

来源:launch.py27-46 modules/launch_utils.py318-446

仓库管理

在准备过程中,会克隆或更新几个仓库

仓库目的URL 的环境变量
stable-diffusion-webui-assetsUI 资源ASSETS_REPO
stable-diffusion-stability-aiStable Diffusion 核心STABLE_DIFFUSION_REPO
generative-modelsStable Diffusion XLSTABLE_DIFFUSION_XL_REPO
k-diffusionK-diffusion 采样器K_DIFFUSION_REPO
BLIP用于字幕的 BLIPBLIP_REPO

每个仓库都会克隆到特定的 commit hash,这可以通过相应的环境变量(例如STABLE_DIFFUSION_COMMIT_HASH)来覆盖。

来源:modules/launch_utils.py348-358 modules/launch_utils.py411-415

常见用例

基本启动

用于标准启动,使用默认设置

python launch.py

低 VRAM 配置

适用于 VRAM 有限的系统

python launch.py --lowvram --medvram --opt-split-attention

仅 API 服务器

仅运行 API 服务器,不带 Web UI

python launch.py --nowebui --api

公开访问

使服务器可以通过互联网访问

python launch.py --listen --port 7860 --share

增强安全性

用于设置身份验证

python launch.py --gradio-auth username:password --api-auth username:password

开发者模式

用于开发目的

python launch.py --allow-code --gradio-debug --api

来源: modules/cmd_args.py6-128 modules/launch_utils.py463-469

命令行与环境变量文件配置

启动选项可以通过两种方式提供

  1. 启动脚本时的命令行参数
  2. (Windows) webui-user.bat 或 (Linux/Mac) webui-user.sh 中的配置

配置文件允许您设置持久性选项,而无需每次都指定参数。

(Linux/Mac) webui-user.sh 内容示例

来源: .gitignore24-25