Stable Diffusion WebUI 本地部署完整教程

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 项目:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 

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

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

解决方法:

关闭 Git 的 HTTPS 证书验证:

git config --global http.sslVerify false

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


三、运行项目

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

stable-diffusion-webui\webui-user.bat 

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

🚧 问题:提示升级 pip?

解决方法:

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

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 文件,找到安装失败的部分。

例如:

run_pip(f"install {gfpgan_package}","gfpgan")

改为:

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

同样方式修改:

  • clip_package
  • open_clip_package

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


方法二:加速 GitHub 文件下载

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

"https://github.com/..."

改为:

"https://github.moeyy.xyz/https://github.com/..."
示例:在 launch.pylaunch_utils.py

找到类似以下函数:

defprepare_environment():

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


📌 文件找不到的情况

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


五、首次加载模型

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

在这里插入图片描述


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

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 模型下载

为什么要设置?

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

OSError: Can't load tokenizer for 'openai/clip-vit-large-patch14' 

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


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

  1. 编辑 webui-user.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. 下载以下 4 个文件:
    • vocab.json
    • merges.txt
    • tokenizer_config.json
    • special_tokens_map.json
  2. 将上述 4 个文件全部放入该目录中。

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

self.tokenizer = CLIPTokenizer.from_pretrained(version)

修改为:

self.tokenizer = CLIPTokenizer.from_pretrained("models/clip-vit-large-patch14")

在本地新建目录:

stable-diffusion-webui\models\clip-vit-large-patch14\ 

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

https://huggingface.co/openai/clip-vit-large-patch14/tree/main 

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

在这里插入图片描述

七、可选:更换模型

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

stable-diffusion-webui\models\Stable-diffusion\ 
在这里插入图片描述

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


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

1. 访问 Web UI 界面

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

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-patch14HuggingFace 网络不通本地下载 tokenizer 或配置代理
ProxyError 报错系统代理配置残留关闭系统代理,清理环境变量
命令行卡住不动下载缓慢或被墙Ctrl+C 后重启、断点续传有效
xformers 报错未安装非必要模块可忽略,或通过 pip 安装

Read more

虚幻版Pico大空间VR入门教程 04 —— PicoOpenXR和PicoXR插件对于PDC串流、SteamVR串流、OpenXR串流对比 和 手势追踪对比

虚幻版Pico大空间VR入门教程 04 —— PicoOpenXR和PicoXR插件对于PDC串流、SteamVR串流、OpenXR串流对比 和 手势追踪对比

省流 串流方式最重要,笔者使用【Pico4UE 企业版】一体机,使用【PicoOpenXR插件+OpenXR插件】【企业串流v2.0的apk+exe应用】和【OpenXR串流方式】进行有线串流, 串流调试时可以正常手势追踪,打包apk和exe的VR手势追踪正常。 文章包含整理的百度云资源、SteamVR串流、不同UE版本的手势追踪对比记录,曾经的踩坑笔记(略长)。 插件文档 PicoXR和PicoOpenXR 插件文档 https://developer-cn.picoxr.com/document/ PicoXR 开发文档 https://developer-cn.picoxr.com/document/unreal/ PicoOpenXR 开发文档 https://developer-cn.picoxr.com/document/unreal-openxr/ 插件下载 PicoXR和PicoOpenXR Pico SDK

AD9361 FPGA纯Verilog驱动:LVDS接口,无依赖库,易于移植与使用

AD9361 FPGA纯Verilog驱动:LVDS接口,无依赖库,易于移植与使用

AD9361 FPGA驱动,纯verilog驱动,lvds接口,没有使用任何依赖库和ip核,方便移植,代码结构清晰,容易使用。 代码在ZYNQ、XILINX K7、Cyclone IV芯片中测试通过。 图1:ILA抓取到的发射端发射的正弦波基带信号; 图2:抓取到的中频信号在MATLAB上绘图; 图3:频谱仪测量的射频信号。 AD9361这颗射频芯片的驱动开发向来是个头疼活儿,尤其是纯Verilog实现LVDS接口的方案。今天咱们来扒一扒这个开箱即用的驱动方案,看看怎么用不到5000行代码搞定全链路通信。 驱动核心分为三个模块:SPI配置引擎、LVDS数据接口、时钟同步电路。SPI模块用状态机实现了自动化的寄存器配置,重点看看这个时钟分频逻辑: always @(posedge clk_50m) begin if(spi_busy) begin clk_div <= clk_div + 1; if(clk_div == SPI_CLK_DIV)

【无人机避障算法核心技术】:揭秘五种主流算法原理与实战应用场景

第一章:无人机避障算法概述 无人机避障算法是实现自主飞行的核心技术之一,其目标是在复杂环境中实时感知障碍物,并规划安全路径以避免碰撞。随着传感器技术和计算能力的提升,避障系统已从简单的距离检测发展为融合多源信息的智能决策体系。 避障系统的基本组成 典型的无人机避障系统包含以下关键模块: * 感知模块:利用激光雷达、超声波、立体视觉或RGB-D相机获取环境数据 * 数据处理模块:对原始传感器数据进行滤波、特征提取和障碍物识别 * 决策与规划模块:基于环境模型生成避障轨迹,常用算法包括A*、Dijkstra、RRT和动态窗口法(DWA) 常见避障算法对比 算法优点缺点适用场景A*路径最优,搜索效率高高维空间计算开销大静态环境全局规划DWA实时性强,适合动态避障局部最优风险室内低速飞行RRT*渐进最优,适应复杂空间收敛速度慢三维未知环境 基于深度学习的避障方法示例 近年来,端到端神经网络被用于直接从图像生成控制指令。以下是一个简化的行为克隆模型推理代码片段: import torch import torchvision.transforms as tran

【UAV】基于射频和深度学习的无人机检测与识别:构建大型开源无人机数据库的初步探索【附MATLAB+python代码】

【UAV】基于射频和深度学习的无人机检测与识别:构建大型开源无人机数据库的初步探索【附MATLAB+python代码】

文章来源:微信公众号:EW Frontier QQ交流群:1074124098(如满私信留言获取最新群) 注:本文为参考文章~代码为对其部分内容进行复现~ 若有侵权联系删除。 摘要 民用无人机的普及可能引发技术、安全和公共安全问题,这些问题亟待解决、规范和预防。安全机构一直在不断探索能够检测无人机的技术和智能系统。然而,相关技术的突破因缺乏无人机射频信号开源数据库而受阻,这些射频信号可通过远程传感和存储,为开发最有效的无人机检测与识别方法提供支持。本文为构建不同飞行模式下各类无人机射频信号数据库迈出了重要一步。我们系统地收集、分析并记录了不同无人机在不同飞行模式(如关闭、开启并连接、悬停、飞行和视频录制)下的原始射频信号。此外,我们利用所开发的射频数据库设计了智能算法,用于检测和识别入侵无人机。研究采用三个深度神经网络,分别实现无人机存在检测、无人机存在及类型识别,以及无人机存在、类型及飞行模式识别。通过 10 折交叉验证过程验证每个深度神经网络的性能,并使用多种指标进行评估。分类结果显示,随着类别数量的增加,性能普遍下降。平均准确率从第一个深度神经网络(2 类)的 99.7%