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

【 AR眼镜】核心技术详解:硬件架构、核心算法、应用场景与发展趋势

【 AR眼镜】核心技术详解:硬件架构、核心算法、应用场景与发展趋势

文章目录 * 目录 * 引言 * 一、AI眼镜核心硬件架构 * 二、AI眼镜核心技术栈(软件+算法) * 2.1 环境感知技术(核心:计算机视觉) * 2.2 AI计算技术(核心:边缘智能) * 2.3 人机交互技术(核心:自然交互) * 三、AI眼镜软件生态与应用场景 * 3.1 软件生态架构 * 3.2 核心应用场景(行业+消费) * 四、AI眼镜关键技术挑战与解决方案 * 五、AI眼镜未来发展趋势 * 5.1 技术趋势 * 5.2 行业趋势 * 六、总结 目录 引言 若对您有帮助的话,请点赞收藏加关注哦,

1200PLC与爱普生机器人modbus_TCP通讯

1200PLC与爱普生机器人modbus_TCP通讯

1.前言 首先申明一下我的硬件信息 机器人:C4-A601S 控制器:RC700 PLC:西门子S7-1200(CPU:1217C/DC/DC/DC) 2.控制器IP地址查看及修改 在配置控制器相关信息时需要先用网线连接PC与机器人控制器连接,爱普生机器人出厂设定网址为192.168.0.1(我这里是之前修改过了) 若默认没有显示以太网连接,点击右侧的增加,选择“通过以太网连接到控制器”后点击确定 如果控制器网址被修改过了,不知道是多少,可以用一根PC线,一头接在控制器的“开发用PC连接专用USB端口”另一头接在电脑USB口 这时候再在通讯处选择USB连接就可以通上了 现在就可以在“系统配置”处看到控制器的IP地址以及相关信息了,如果有需要也可以直接在这修改IP地址。 3.机器人控制器配置 网线连接好后开始配置通讯相关信息 1.控制设备 控制设备修改为远程I/O 2.现场总线 现场总线类型修改为“Modbus TCP”

AI无人机赋能乡村道路管护构建智慧交通的“最后一公里“新范式,基于YOLOv8全系列【n/s/m/l/x】参数模型开发构建公共交通道路场景下路面缺陷病害智能化检测预警系统

AI无人机赋能乡村道路管护构建智慧交通的“最后一公里“新范式,基于YOLOv8全系列【n/s/m/l/x】参数模型开发构建公共交通道路场景下路面缺陷病害智能化检测预警系统

在乡村振兴战略的推进过程中,"村村通"工程作为连接城乡的重要纽带,已实现全国98%以上的行政村通硬化路。然而,随着农村公路里程的快速增长,传统人工巡检模式逐渐暴露出效率低、覆盖难、响应慢等痛点。当AI技术遇上低空无人机,一场乡村道路管护的智能化革命正在悄然发生,为破解农村交通治理难题提供了创新方案。 一、传统巡检之困:乡村道路管护的"阿喀琉斯之踵" 农村公路具有"点多、线长、面广"的典型特征,全国农村公路总里程已突破450万公里。传统人工巡检模式下,养护队伍需定期徒步或驾车巡查,日均巡检里程不足20公里,且受地形限制,桥梁涵洞、临水临崖等特殊路段存在巡检盲区。某农业大省调研显示,农村公路病害发现平均滞后周期达47天,裂缝发展成坑槽的比例高达63%,直接导致养护成本增加3-5倍。 更严峻的是,农村地区技术人才短缺,巡检人员平均年龄超过50岁,对裂缝宽度、沉陷深度等关键指标的判断依赖经验,数据记录仍采用纸质台账,难以实现病害发展的动态追踪。这种"被动式"

OpenClaw 飞书机器人搭建流程

OpenClaw 飞书机器人搭建流程

OpenClaw 飞书机器人搭建流程 手把手教你搭建属于自己的飞书 AI 机器人! 一、创建企业自建应用 首先进入飞书开发者后台: 👉 https://open.feishu.cn/app 填写应用名称和描述,直接点击创建即可。 创建完成后,会自动生成 App ID 和 App Secret,这两个凭证后面配置 OpenClaw 时会用到,先记下来。 二、添加机器人能力 在应用详情页左侧菜单找到「机器人」,点击添加。 添加成功后,机器人就可以在飞书中被搜索和使用了。 三、开通消息权限 进入「权限管理」,找到 im: 相关权限,全部勾选。 ⚠️ 注意:以下这个权限建议不要勾选: 获取群组中所有消息(im:message.group_msg) 否则群里所有消息机器人都会收到并响应,会造成不必要的干扰。