本教程将以Windows10的二进制发行版为例,通过图文形式详细介绍Stable Diffusion web UI的安装、使用技巧以及相关学习和应用资源。我们将逐步引导读者完成安装过程,并提供实用技巧以优化使用体验。同时,我们还将分享Stable Diffusion web UI的学习资源,包括官方文档、社区论坛等,帮助读者深入学习和掌握该工具。无论是初学者还是有经验的用户,都能从本教程中获得实用的指导,更加高效地使用Stable Diffusion web UI。

1.硬件配置

内存:16GB+

GPU:推荐使用NVIDIA GPU,VRAM(显存)10GB+,推荐 16GB+

CPU:i7+

2.资源和下载

官网:🔗https://ommer-lab.com/research/latent-diffusion-models/ 

论文:🔗https://arxiv.org/abs/2112.10752 

官方库地址:🔗https://github.com/CompVis/stable-diffusion 

WebUI官方库地址:🔗https://github.com/AUTOMATIC1111/stable-diffusion-webui 

WebUI的Windows10二进制发行版:🔗https://github.com/AUTOMATIC1111/stable-diffusion-webui/releases/download/v1.0.0-pre/sd.webui.zip 

网盘地址:🔗https://pan.baidu.com/s/1ngbtJCWsDRb7GPjkcofjYQ?pwd=34kk 

3.运行

解压文件到目录

第一次运行,先运行update.bat;

更新完毕按任意键退出更新脚本;

然后再运行run.bat;第一次运行会自动所需文件,视网络情况,时间会久一些,如果中断就关闭命令窗口重新执行;

程序下载完成后,系统默认浏览器会自动访问本机地址:http://127.0.0.1:7860/,界面如下:

常见问题:下载所需文件的网站在海外,看本地的网络情况,可能需要开启魔法,具体请参考[🔗6.1准备工作/6.1.1魔法 ]章节。

4.参数

官方参数文档:🔗https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Command-Line-Arguments-and-Settings 

环境变量

名称 描述
PYTHON 设置 Python 可执行文件的自定义路径。例如,如果要使用特定的 Python 版本,可以将其设置为该版本的路径。
VENV_DIR 指定虚拟环境的路径。如果未设置,则会在根目录中创建名为 venv 的虚拟环境。
COMMANDLINE_ARGS 主程序的附加命令行参数。例如,可以使用此参数来指定要生成的图像的分辨率或样式。
IGNORE_CMD_ARGS_ERRORS 忽略命令行参数错误,不中断退出。如果设置为任何值,则即使遇到未知的命令行参数,程序也不会退出。
REQS_FILE 默认为 requirements_versions.txt,设置运行时安装具有依赖项文件的名称。此文件指定了运行 Stable Diffusion Web UI 所需的 Python 包。
TORCH_COMMAND 用于安装 PyTorch 的命令。如果未设置,则将使用默认的 PyTorch 安装命令。
INDEX_URL 相当于 --index-url 的参数。此参数指定了 pip 用于下载 Python 包的索引 URL。
TRANSFORMERS_CACHE Transformers 库下载并保存与 CLIP 模型相关的文件的路径。CLIP 模型用于将文本描述转换为图像。
CUDA_VISIBLE_DEVICES 如果系统上有多个 GPU,可以指定要使用的 GPU。例如,如果要使用第二个 GPU,可以将其设置为 1
SD_WEBUI_LOG_LEVEL 设置日志记录的详细程度。支持任何有效的 Python 内置日志记录模块支持的日志记录级别。默认值为 INFO
SD_WEBUI_CACHE_FILE 缓存文件的路径。如果未设置,则默认为根目录中的 cache.json
SD_WEBUI_RESTART 由启动器脚本(如 webui.batwebui.sh)设置的值,通知 WebUI 存在重启功能。
SD_WEBUI_RESTARTING 一个内部值,表示 WebUI 是否正在重新启动或重新加载,用于禁用某些操作,例如自动启动浏览器。

命令行参数

配置参数(CONFIGURATION)

Argument Command Value Default Description
-h, –help None False 显示此帮助消息并退出。
–exit     安装后终止。
–data-dir DATA_DIR / 存储所有用户数据的基本路径。
–config CONFIG configs/stable-diffusion/v1-inference.yaml 构建模型的配置路径。
–ckpt CKPT model.ckpt Stable Diffusion模型的检查点路径;如果指定,此检查点将被添加到检查点列表并加载。
–ckpt-dir CKPT_DIR None Stable Diffusion检查点的目录路径。
–no-download-sd-model None False 即使没有找到模型,也不下载SD1.5模型。
–do-not-download-clip None False 即使检查点中不包含CLIP模型,也不下载CLIP模型。
–vae-dir VAE_PATH None 变分自动编码器模型的路径。
–vae-path VAE_PATH None 将被用作VAE的检查点;设置此参数。
–gfpgan-dir GFPGAN_DIR GFPGAN/ GFPGAN目录。
–gfpgan-model GFPGAN_MODEL   GFPGAN模型文件名。
–codeformer-models-path CODEFORMER_MODELS_PATH models/Codeformer/ codeformer模型文件的目录路径。
–gfpgan-models-path GFPGAN_MODELS_PATH models/GFPGAN 包含GFPGAN模型文件的目录路径。
–esrgan-models-path ESRGAN_MODELS_PATH models/ESRGAN 包含ESRGAN模型文件的目录路径。
–bsrgan-models-path BSRGAN_MODELS_PATH models/BSRGAN 包含BSRGAN模型文件的目录路径。
–realesrgan-models-path REALESRGAN_MODELS_PATH models/RealESRGAN 包含RealESRGAN模型文件的目录路径。
–scunet-models-path SCUNET_MODELS_PATH models/ScuNET 包含ScuNET模型文件的目录路径。
–swinir-models-path SWINIR_MODELS_PATH models/SwinIR 包含SwinIR和SwinIR v2模型文件的目录路径。
–ldsr-models-path LDSR_MODELS_PATH models/LDSR 包含LDSR模型文件的目录路径。
–lora-dir LORA_DIR models/Lora 包含Lora网络的目录路径。
–clip-models-path CLIP_MODELS_PATH None 包含CLIP模型文件的目录路径。
–embeddings-dir EMBEDDINGS_DIR embeddings/ 文本倒置的Embeddings目录(默认: embeddings/)。
–textual-inversion-templates-dir TEXTUAL_INVERSION_TEMPLATES_DIR textual_inversion_templates 包含文本倒置模板的目录。
–hypernetwork-dir HYPERNETWORK_DIR models/hypernetworks/ hypernetwork目录。
–localizations-dir LOCALIZATIONS_DIR localizations/ 本地化目录。
–styles-file STYLES_FILE styles.csv 用于样式的文件名。
–ui-config-file UI_CONFIG_FILE ui-config.json 用于UI配置的文件名。
–no-progressbar-hiding None False 在gradio UI中不隐藏进度条(我们隐藏它是因为它会减慢浏览器中ML的速度,如果你有硬件加速)。
–max-batch-count MAX_BATCH_COUNT 16 UI的最大批处理数量值。
–ui-settings-file UI_SETTINGS_FILE config.json 用于UI设置的文件名。
–allow-code None False 允许从Web UI执行自定义脚本。
–share None False 对于 gradio,使用 share=true 并使 UI 可通过他们的网站访问。
–listen None False 以 0.0.0.0 作为服务器名称启动 gradio,允许响应网络请求。
–port PORT 7860 使用指定的服务器端口启动 gradio,端口 < 1024 需要 root/admin 权限,如果可用则默认为 7860。
–hide-ui-dir-config None False 从 web UI 中隐藏目录配置。
–freeze-settings None False 禁用编辑设置。
–enable-insecure-extension-access None False 无视其他选项,启用扩展选项卡。
–gradio-debug None False 使用 –debug 选项启动 gradio。
–gradio-auth GRADIO_AUTH None 设置 gradio 身份验证,如 username:password; 或以逗号分隔多个,如 u1:p1,u2:p2,u3:p3。
–gradio-auth-path GRADIO_AUTH_PATH None 设置 gradio 身份验证文件路径,例如 /path/to/auth/file,格式与 –gradio-auth 相同。
–disable-console-progressbars None False 不在控制台输出进度条。
–enable-console-prompts None False 在使用 txt2img 和 img2img 生成时在控制台打印提示。
–api None False 启动带有 API 的 web UI。
–api-auth API_AUTH None 设置 API 身份验证,如 username:password; 或以逗号分隔多个,如 u1:p1,u2:p2,u3:p3。
–api-log None False 启用记录所有 API 请求。
–nowebui None False 仅启动 API,不启动 UI。
–ui-debug-mode None False 不加载模型以快速启动 UI。
–device-id DEVICE_ID None 选择要使用的默认 CUDA 设备 (在使用之前可能需要先运行 export CUDA_VISIBLE_DEVICES=0,1 等命令)。
–administrator None False 管理员权限。
–cors-allow-origins CORS_ALLOW_ORIGINS None 允许的 CORS 来源(以逗号分隔的列表形式)。
–cors-allow-origins-regex CORS_ALLOW_ORIGINS_REGEX None 允许的 CORS 来源(以单个正则表达式的形式)。
–tls-keyfile TLS_KEYFILE None 部分启用 TLS,需要 –tls-certfile 才能完全启用。
–tls-certfile TLS_CERTFILE None 部分启用 TLS,需要 –tls-keyfile 才能完全启用。
–disable-tls-verify None False 如果传递,则启用使用自签名证书。
–server-name SERVER_NAME None 设置服务器的主机名。
–no-gradio-queue None False 禁用 gradio 队列;导致 webpage 使用 http 请求而不是 websockets,这是早期版本的默认行为。
–gradio-allowed-path None None 将路径添加到 Gradio 的 allowed_paths;可以从中提供文件。
–no-hashing None False 禁用 SHA-256 校验和以帮助加载性能。
–skip-version-check None False 不检查 torch 和 xformers 的版本。
–skip-python-version-check None False 不检查 Python 的版本。
–skip-torch-cuda-test None False 不检查 CUDA 是否能正常工作。
–skip-install None False 跳过安装包。
–loglevel None None 日志级别: 例如 CRITICAL, ERROR, WARNING, INFO, DEBUG。
–log-startup None False 以参数形式启动时,详细记录启动过程。
–api-server-stop None False 启用通过 api 停止/重启/终止服务器。
–timeout-keep-alive int 30 为 uvicorn 设置 timeout_keep_alive。

性能参数(PERFORMANCE)

Argument Command Value Default Description
–xformers None False 启用 xformers 用于交叉注意力层。
–force-enable-xformers None False 无视检查代码的判断,强制启用 xformers 用于交叉注意力层;如果失败不会发出 bug 报告。
–xformers-flash-attention None False 启用带有 Flash Attention 的 xformers 以提高可重复性(仅支持 SD 2.x 或更高版本)。
–opt-sdp-attention None False 启用缩放点积交叉注意力层优化;需要 PyTorch 2+
–opt-sdp-no-mem-attention False None 启用缩放点积交叉注意力层优化,但不进行内存高效注意力,使图像生成过程确定性;需要 PyTorch 2+
–opt-split-attention None False 强制启用 Doggettx 的交叉注意力层优化。默认在支持 CUDA 的系统上启用。
–opt-split-attention-invokeai None False 强制启用 InvokeAI 的交叉注意力层优化。默认在 CUDA 不可用时启用。
–opt-split-attention-v1 None False 启用旧版本的分割注意力优化,该优化不会消耗所有可用的 VRAM。
–opt-sub-quad-attention None False 启用内存高效的子二次交叉注意力层优化。
–sub-quad-q-chunk-size SUB_QUAD_Q_CHUNK_SIZE 1024 用于子二次交叉注意力层优化的查询分块大小。
–sub-quad-kv-chunk-size SUB_QUAD_KV_CHUNK_SIZE None 用于子二次交叉注意力层优化的 KV 分块大小。
–sub-quad-chunk-threshold SUB_QUAD_CHUNK_THRESHOLD None 子二次交叉注意力层优化使用分块的 VRAM 阈值百分比。
–opt-channelslast None False 启用 4d 张量的替代布局,可能会使 Nvidia 张量核心卡(16xx 及更高)的推理速度更快。
–disable-opt-split-attention None False 强制禁用交叉注意力层优化。
–disable-nan-check None False 不检查生成的图像/潜在空间是否含有 nan;在 Cl 中运行无检查点时有用。
–use-cpu {all, sd, interrogate, gfpgan, bsrgan, esrgan, scunet, codeformer} None 使用 CPU 作为指定模块的 torch 设备。
–no-half None False 不将模型切换为 16 位浮点数。
–precision {full,autocast} autocast 使用此精度进行评估。
–no-half-vae None False 不将 VAE 模型切换为 16 位浮点数。
–upcast-sampling None False Upcast 采样。与 –no-half 无影响。通常会产生与 –no-half 相似的结果,但性能更好,内存使用更少。
–medvram None False 启用 Stable Diffusion 模型优化,以牺牲一些性能来节省 VRAM 使用。
–medvram-sdxl None False 仅为 SDXL 模型启用 –medvram 优化。
–lowvram None False 启用 Stable Diffusion 模型优化,以大幅牺牲速度来节省大量 VRAM 使用。
–lowram None False 将 Stable Diffusion 检查点权重加载到 VRAM 而非 RAM。
–disable-model-loading-ram-optimization None False 禁用在加载模型时减少 RAM 使用的优化。

功能参数(FEATURES)

Argument Command Value Default Description
–autolaunch None False 启动时在系统的默认浏览器中打开 web UI URL。
–theme None Unset 使用指定主题(light 或 dark)打开 web UI。如果未指定,使用默认浏览器主题。
–use-textbox-seed None False 在 UI 中使用文本框输入种子(无上下箭头,但可输入较长的种子)。
–disable-safe-unpickle None False 禁用检查 PyTorch 模型中的恶意代码。
–ngrok NGROK None ngrok 认证令牌,替代 gradio –share。
–ngrok-region NGROK_REGION us ngrok 应该启动的区域。
–ngrok-options NGROK_OPTIONS None 以 JSON 格式传递给 ngrok 的选项,例如:{“authtoken_from_env”:true,”basic_auth”:”user:password”,”oauth_provider”:”google”,”oauth_allow_emails”:”user@asdf.com“}
–update-check None None 在启动时,通知你的 web UI 版本(commit)是否与当前主分支同步。
–update-all-extensions None None 在启动时,为你已安装的所有扩展程序拉取最新更新。
–reinstall-xformers None False 强制重新安装 xformers。升级时很有用 – 但升级后请移除,否则会反复重新安装 xformers。
–reinstall-torch None False 强制重新安装 torch。升级时很有用 – 但升级后请移除,否则会反复重新安装 torch。
–tests TESTS False 运行测试以验证 web UI 功能,详情请参阅 wiki 主题。
–no-tests None False 即使指定了 –tests 选项,也不运行测试。
–dump-sysinfo None False launch.py 参数:将有限的 sysinfo 文件(不包含关于扩展、选项的信息)转储到磁盘并退出。
–disable-all-extensions None False 禁用运行所有非内置扩展程序。
–disable-extra-extensions None False 禁用运行所有扩展程序。

废弃的选项(DEFUNCT OPTIONS)

Argument Command Value Default Description
–show-negative-prompt None False 不再有任何效果。
–deepdanbooru None False 不再有任何效果。
–unload-gfpgan None False 不再有任何效果。
–gradio-img2img-tool GRADIO_IMG2IMG_TOOL None 不再有任何效果。
–gradio-inpaint-tool GRADIO_INPAINT_TOOL None 不再有任何效果。
–gradio-queue None False 不再有任何效果。
–add-stop-route None False 不再有任何效果。
–always-batch-cond-uncond None False 不再有任何效果,已移入UI界面,在“设置”>“优化”下。

介绍常用的几个参数,用记事本打开文件:\webui\webui-user.bat,如图:

修改set COMMANDLINE_ARGS=这一行,参数说明:

4.1 –listen

使用0.0.0.0作为服务器名称启动Gradio(服务用 Python的Gradio库实现),可以通过服务器的所有IP访问,如果服务器有公网IP,就可以在外网访问了;若端口为 80,本地访问:http://127.0.0.1/

4.2 –port 80

使用80端口启动Gradio

4.3 –gradio-auth root:SDt8

设置Gradio身份验证,用户名为root,密码为SDt8s

4.4 –theme light

在WebUI中使用明暗主题,参数值:light/dark

light:

dark:

5.模型

模型一般在 C 站(下文有介绍)下载即可,但是因为 C 站在海外,下载速度比较慢,需要魔法;因为工作需要,我在百度网盘放了一些模型,可以通过百度网盘下载( 下载地址:https://www.buzhou.ai/category/model/),如果百度网盘没有需要的模型,可在评论区留言,发送下载链接或者C站链接,我会第一时间下载并回复;

6.提示词

参照C站的一个图片的提示词生成的图片:🔗https://civitai.com/images/10896202 

提示词有几种生成方式:

1.手动编写;需要对使用的大模型以及图象的生成规则有非常全面的了解,精通英文,还需要有一定的词汇量储备;

2.通过大模型生成;通过大语言模型(如 ChatGPT、Claude、Gemini等)的角色设定和提示词工程,也可以输出高质量的文生图提示词;

3.用提示词工具生成;

7.工具

提示词可视化编辑器:🔗https://label.tool.wapple.cn/apps/ops/ 

支持6.4Stable Diffusion和6.5MidJourney,输入中文,自动翻译成英文,预设质量、绘画、画面效果、容貌、构图、命令等方面的提成词;

大模型提示词指令:🔗https://prompt.vercel.wapple.cn/ 

8.界面主题

LobeHub官方库地址:🔗https://github.com/lobehub/sd-webui-lobe-theme 

百度网盘地址:🔗https://pan.baidu.com/s/1LKoA13HXJwQ4q5jbo0OiYA?pwd=42bf

下载主题文件,解压缩到\webui\extensions,如图:

重新运行run.bat,会自动加载主题,主题预览:

9.C站

🔗https://civitai.com/  俗称C站,主要是下载各种模型和学习如何写出优质的提示词。

Civitai.com 是一个专注于 Stable Diffusion 模型和相关创作工具的开源社区平台。它为广大艺术家、开发者和爱好者提供了一个交流和分享创意的理想场所。

该平台的主要功能包括:

1. 模型共享:Civitai 汇集了来自全球的 Stable Diffusion 模型和训练权重,用户可以免费下载和使用这些资源进行创作。这些模型涵盖各种风格和应用场景,为用户的创作提供了广阔的可能性。

2. 提示词交流:用户可以在平台上分享自己编写的高质量提示词,供其他创作者参考和使用。同时,也可以探讨提示词的编写技巧,互相学习和进步。

3. 创作展示:Civitai 设有专门的作品展示区,用户可以在这里分享自己使用 Stable Diffusion 生成的创作成果,并获得来自社区的反馈和互动。这有助于激发创意灵感,推动整个创作生态的发展。

4. 教程分享:平台上也有大量优质的教程资源,涵盖 Stable Diffusion 的安装、使用、优化等方方面面。新手用户可以通过这些教程快速入门,而有经验的用户也能从中学习到新的技巧和窍门。

5. 社区交流:Civitai 拥有活跃的社区论坛,用户可以在这里就感兴趣的话题进行讨论,交流自己的心得体会。这有助于增进用户之间的联系,促进知识和创意的传播。

无论您是初学者还是资深从业者,都可以在这里获得所需的模型、提示词、教程等支持,从而进一步提高自己的 Stable Diffusion 创作水平。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。