Stable Diffusion WebUI 本地部署完整教程

Stable Diffusion WebUI 本地部署完整教程(AUTOMATIC1111 版)

本教程基于 Windows 系统,适合 AI 绘画爱好者或初学者,旨在帮助大家从零部署并运行本地的 Stable Diffusion 模型界面(Web UI)。我们将从克隆项目、配置环境到运行界面,并附上常见网络问题的解决方案。


一、准备工作

1. 安装依赖

  • Python 3.10.x
  • Git(推荐官网下载最新版)
  • 显卡驱动 + CUDA(NVIDIA 用户,建议驱动更新到最新版)

安装好后,确保 Python 和 Git 都加入了系统环境变量。


二、克隆项目仓库

使用如下命令克隆 AUTOMATIC1111 的 Web UI 项目:

bash 复制代码
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

🚧 常见问题:OpenSSL SSL_read: Connection was reset, errno 10054

这是网络导致的 Git 连接失败问题。

解决方法:

关闭 Git 的 HTTPS 证书验证:

bash 复制代码
git config --global http.sslVerify false

然后重新执行 clone 命令即可成功。


三、运行项目

1. 进入项目目录,双击运行:

plaintext 复制代码
stable-diffusion-webui\webui-user.bat

运行后会自动创建虚拟环境并下载依赖库。

🚧 问题:提示升级 pip?

解决方法:

根据提示复制升级命令,在新命令行中执行(路径根据你的安装位置可能不同):

bash 复制代码
H:\AI\stable-diffusion-webui\venv\Scripts\python.exe -m pip install --upgrade pip

升级完成后,重新运行 webui-user.bat


四、解决国内网络环境下载失败的问题

在首次运行时,WebUI 会自动安装一些依赖模型,例如:

  • gfpgan
  • clip
  • open-clip

若下载失败,你会在命令行中看到安装卡住或超时的报错,解决方案如下:

方法一:修改 pip 安装源为国内镜像

打开 stable-diffusion-webui\launch.py 文件,找到安装失败的部分。

例如:

python 复制代码
run_pip(f"install {gfpgan_package}", "gfpgan")

改为:

python 复制代码
run_pip(f"install -i https://pypi.douban.com/simple/ {gfpgan_package}", "gfpgan")

同样方式修改:

  • clip_package
  • open_clip_package

然后保存、关闭命令行,重新运行 webui-user.bat


方法二:加速 GitHub 文件下载

如果卡在某个 GitHub 地址,可以用加速代理,例如:

python 复制代码
"https://github.com/..."

改为:

python 复制代码
"https://github.moeyy.xyz/https://github.com/..."
示例:在 launch.pylaunch_utils.py

找到类似以下函数:

python 复制代码
def prepare_environment():

把里面涉及 GitHub 的 URL 全部加上加速前缀。


📌 文件找不到的情况

如果你找不到 launch.py,可能你的版本结构已经更新,请在 launch_utils.py 中查找对应的 run_pip(...) 语句并按相同方式修改(比如第 263、266、269 行)。


五、首次加载模型

第一次进入 WebUI 会自动下载一个默认模型(如 v1-5-pruned-emaonly.ckpt),文件较大(约 4GB),请耐心等待。

首次加载可能时间较长。你也可以自行下载 .ckpt.safetensors 模型放入以下目录:

plaintext 复制代码
stable-diffusion-webui\models\Stable-diffusion\

🚧 遇到模型加载失败:ProxyError 错误

如果你遇到类似如下错误信息:

复制代码
ProxyError: ('Unable to connect to proxy', FileNotFoundError(2, 'No such file or directory'))

并伴随类似:

复制代码
requests.exceptions.ProxyError: (MaxRetryError("HTTPSConnectionPool(...): Max retries exceeded with url: /openai/clip-vit-large-patch14/resolve/main/vocab.json ..."))

解决方法如下:

  1. 请关闭你之前为了下载模型使用的代理工具(包括系统代理或设置在 WebUI 中的代理参数)。
  2. 关闭命令行窗口,重新运行 webui-user.bat,程序会重新尝试使用正常方式连接 HuggingFace。

🌀 如果出现"卡住不动"的情况?

有时候你可能会发现命令行卡在某一步不动,长时间没有进度。

解决方法:

  • 直接关闭命令行窗口,重新运行 webui-user.bat,系统通常会从上次中断处继续下载或跳过已安装内容。

六、设置代理加速 HuggingFace 模型下载

为什么要设置?

很多用户在首次运行或切换模型时会遇到以下错误:

bash 复制代码
OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14'

说明系统在尝试联网下载 tokenizer 文件(如 vocab.json),但由于网络限制(如 HuggingFace 被墙),下载失败。


解决方法一:在 webui-user.bat 中设置代理

  1. 编辑 webui-user.bat 文件,在开头添加如下内容:
bat 复制代码
:: 启用代理(如 Clash 使用 HTTP 代理 7890 端口)
set HTTP_PROXY=http://127.0.0.1:7890
set HTTPS_PROXY=http://127.0.0.1:7890

:: 如果你用的是 SOCKS5 代理(如 V2Ray、Trojan):
:: set ALL_PROXY=socks5://127.0.0.1:1080
  1. 保存并重新运行 webui-user.bat

✅ 一般配合 Clash 使用效果较好,默认本地端口为 7890


解决方法二:手动下载 CLIP Tokenizer 模型到本地

  1. 访问以下链接(如无法打开建议用代理):

    复制代码
    https://huggingface.co/openai/clip-vit-large-patch14/tree/main
  2. 下载以下 4 个文件:

    • vocab.json
    • merges.txt
    • tokenizer_config.json
    • special_tokens_map.json
  3. 在本地新建目录:

    plaintext 复制代码
    stable-diffusion-webui\models\clip-vit-large-patch14\
  4. 将上述 4 个文件全部放入该目录中。

  5. 打开 ldm\modules\encoders\modules.py,找到如下代码:

    python 复制代码
    self.tokenizer = CLIPTokenizer.from_pretrained(version)

    修改为:

    python 复制代码
    self.tokenizer = CLIPTokenizer.from_pretrained("models/clip-vit-large-patch14")

这样就会从本地加载 tokenizer 文件,避免联网失败问题。


七、可选:更换模型

你可以将其他 .ckpt.safetensors 模型放入:

plaintext 复制代码
stable-diffusion-webui\models\Stable-diffusion\

然后在 Web UI 界面右上角下拉选择切换模型。


八、模型部署成功后的使用与测试

1. 访问 Web UI 界面

当命令行中显示如下信息:

bash 复制代码
Running on local URL:  http://127.0.0.1:7860

打开浏览器,输入该地址访问 Web UI 页面。


2. 输入测试 Prompt 生成图片

在界面中,你会看到一个文本输入框,称为 "Prompt" 输入框。

在此输入框中,试试以下测试内容:

复制代码
Official portrait of Groot as substitute teacher

3. 配置参数建议(可选)

  • 采样器(Sampler):默认即可,如 Euler a、DDIM 等。
  • 步数(Steps):建议设置 20~30,数值越大图片细节越丰富,但生成时间也更长。
  • 分辨率(Width/Height):推荐 512x512,显卡显存有限可适当调低。
  • 种子(Seed):默认随机,想要固定结果可指定具体数值。
  • CFG Scale(引导尺度):7~9 之间通常表现较好,控制对 Prompt 的遵守程度。

4. 点击"生成"按钮

等待几秒至几十秒(具体时间与显卡性能相关),页面会自动显示生成的图像。

附录、常见模型下载失败的解决方法汇总

问题 原因 解决方法
OSError: Can't load tokenizer for openai/clip-vit-large-patch14 HuggingFace 网络不通 本地下载 tokenizer 或配置代理
ProxyError 报错 系统代理配置残留 关闭系统代理,清理环境变量
命令行卡住不动 下载缓慢或被墙 Ctrl+C 后重启、断点续传有效
xformers 报错未安装 非必要模块 可忽略,或通过 pip 安装
相关推荐
这是一个懒人6 天前
SD和comfyui常用模型介绍和下载
stable diffusion·comfyui·模型下载
有点小帅得平哥哥7 天前
Stable Diffusion WebUI 本地部署指南(Windows 11 + RTX 4060 Ti)
stable diffusion
CoovallyAIHub10 天前
突破异常数据瓶颈!AnomalyAny:一句话+一张图,零样本生成任意异常图像
计算机视觉·stable diffusion
写代码的小阿帆11 天前
Fractal Generative Models论文阅读笔记与代码分析
论文阅读·stable diffusion·transformer
春末的南方城市12 天前
港科大&快手提出统一上下文视频编辑 UNIC,各种视频编辑任务一网打尽,还可进行多项任务组合!
人工智能·计算机视觉·stable diffusion·aigc·transformer
多恩Stone16 天前
【Stable Diffusion 1.5 】在 Unet 中每个 Cross Attention 块中的张量变化过程
stable diffusion
今夕节度使16 天前
ARM架构推理Stable Diffusiond
stable diffusion
远瞻。20 天前
【论文精读】2024 ECCV--MGLD-VSR现实世界视频超分辨率(RealWorld VSR)
人工智能·算法·stable diffusion·音视频·超分辨率重建
远瞻。21 天前
【论文精读】2024 CVPR--Upscale-A-Video现实世界视频超分辨率(RealWorld VSR)
论文阅读·人工智能·算法·stable diffusion·音视频·超分辨率重建