Stable Diffusion WebUI 从安装到实战:原理、部署与问题全解

Stable Diffusion 原理、介绍及 WebUI 安装指南

一、Stable Diffusion 原理及介绍

Stable Diffusion 是一种基于潜在扩散模型(Latent Diffusion Model)的文本到图像生成人工智能模型,由 Stability AI 主导开发,于 2022 年发布。其核心原理是通过“扩散过程”的逆过程实现图像生成:

  1. 扩散过程:从一张清晰图像开始,逐步添加高斯噪声,最终将图像转化为完全随机的噪声
  2. 逆扩散过程:模型学习从纯噪声中逐步去除噪声,结合文本提示(Prompt)的语义信息,最终生成符合描述的清晰图像

该模型的优势在于:

  • 开源可访问性:允许研究者和开发者自由使用和修改
  • 高质量生成:能生成具有细节和艺术感的图像
  • 灵活性:支持文本生成图像、图像修复、风格迁移等多种任务
  • 资源友好性:相比早期扩散模型,通过潜在空间(Latent Space)计算大幅降低了硬件需求

Stable Diffusion WebUI 是基于 Stable Diffusion 模型的可视化操作界面(以 AUTOMATIC1111 版本最为流行),提供了直观的参数调整、模型管理和图像生成功能,让非专业用户也能便捷使用该模型。

具体可以参见这篇文章,原理介绍的比较清晰:https://zhuanlan.zhihu.com/p/628714183

二、Stable Diffusion WebUI 安装步骤

1. Conda 设置清华源

conda config --show channels conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes

2. 创建并激活 conda 环境

conda create -n sdw python=3.10 conda activate sdw 

3. pip 设置清华源

pip config list pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple 

4. 下载源码并切换分支

# 国内源克隆(推荐)git clone https://mirror.ghproxy.com/https://github.com/AUTOMATIC1111/stable-diffusion-webui.git # 进入目录并切换版本cd stable-diffusion-webui/ git checkout v1.10.1 

5. 配置模型下载路径

修改 ./modules/sd_models.py 文件,指定模型下载地址(解决网络限制问题):

161else:162 model_url =f"http://192.168.1.10/data/model/SD/v1-5-pruned-emaonly.safetensors"163 expected_sha256 ='6ce0161689b3853acaa03779ec93eafe75a02f4ced659bee03f50797806fa2fa'

模型可通过以下方式获取:

  • 官方地址:https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors
  • 局域网地址:http://192.168.1.10/data/model/SD/v1-5-pruned-emaonly.safetensors

6. 安装 CLIP 模型

# 创建目录mkdir -p ./openai/ cd ./openai/ # 下载 CLIP 模型(局域网方式)wget http://192.168.1.10/data/model/SD/clip-vit-large-patch14.tar.gz # 解压tar -zxvf clip-vit-large-patch14.tar.gz # 返回主目录cd..

7. 安装 Python 依赖

pip install -r requirements_versions.txt 

8. 允许 root 用户执行

修改 webui.sh 第 74 行:

73# this script cannot be run as root by default74can_run_as_root=1

9. 解决 CLIP 安装超时问题

由于网络限制,直接安装 CLIP 可能失败,可通过以下方式解决:

# 方法1:手动下载并安装wget http://192.168.1.10/data/soft/CLIP-d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip pip install CLIP-d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip # 方法2:修改源码中的下载地址vi ./modules/launch_utils.py # 将第345-346行修改为:# clip_package = os.environ.get('CLIP_PACKAGE', "http://192.168.1.10/data/soft/CLIP-d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip")

10. 解决 TCMalloc 依赖问题

# 安装依赖apt-get update apt-getinstall google-perftools -y # 配置环境变量echo"export LD_PRELOAD=\"/usr/lib/x86_64-linux-gnu/libtcmalloc.so.4.5.3\"">> /etc/profile source /etc/profile 

11. 执行安装

bash webui.sh 

成功安装后会显示类似以下信息:

Loading weights [6ce0161689] from /root/stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.safetensors Running on local URL: http://127.0.0.1:7860 Creating model from config: /root/stable-diffusion-webui/configs/v1-inference.yaml Applying attention optimization: Doggettx... done. Model loaded in 3.5s (load weights from disk: 0.8s, create model: 0.8s, apply weights to model: 1.5s, calculate empty prompt: 0.2s). 

三、服务配置与访问

1. 设置开机启动

创建服务文件 /etc/systemd/system/sdw.service

[Unit] Description=Stable Diffusion WebUI Service After=network.target [Service] Type=simple User=root StandardOutput=file:/var/log/sdw.log StandardError=file:/var/log/sdw.log WorkingDirectory=/root/stable-diffusion-webui/ ExecStart=/bin/bash -c 'source /root/miniconda3/bin/activate && conda activate sdw && bash /root/stable-diffusion-webui/webui.sh' Restart=on-failure [Install] WantedBy=multi-user.target 

启用服务:

systemctl daemon-reload systemctl restart sdw systemctl enable sdw 

2. 端口转发配置

方法1:SSH 端口转发
ssh -L 192.168.1.63:7860:127.0.0.1:7860 [email protected] 
方法2:HAProxy 转发
# 安装 HAProxyaptinstall haproxy -y 

修改配置文件 /etc/haproxy/haproxy.cfg,添加以下内容:

listen haihe_proxy_gateway_https mode tcp bind 192.168.1.64:80 # 替换为实际IP balance roundrobin option tcpka option tcplog server hostname 127.0.0.1:7860 check inter 2000 rise 2 fall 5 

启动服务:

systemctl enable haproxy systemctl start haproxy 

通过 http://192.168.1.64/ 访问(替换为实际IP)

四、模型管理与使用

1. 模型下载与安装

推荐从以下平台下载高质量模型:

  • Hugging Face:https://huggingface.co/models
  • Civitai:https://civitai.com/models

下载后将模型文件(通常为 .safetensors.ckpt 格式)放入目录:

/root/stable-diffusion-webui/models/Stable-diffusion/ 

在 WebUI 界面中刷新模型列表即可选择使用。

2. 基础使用示例

  • 正向提示词(Prompts)1girl, face, white background
  • 反向提示词(Negative Prompts)(worst quality:2), (low quality:2), lowres, watermark

反向提示词用于排除不想要的特征(如低质量、水印等)。

五、常见问题解决

1. 缺少 xdg-open 错误

aptinstall xdg-utils desktop-file-utils -y 

2. 本地访问代理问题

exportno_proxy="localhost, 127.0.0.1, ::1"

六、汉化配置

  1. 进入 WebUI 的 “Extensions” 选项卡
  2. 点击 “Install from URL”,输入仓库地址:https://github.com/VinsonLaro/stable-diffusion-webui-chinese
  3. 点击 “Install”,安装完成后重启界面
  4. 进入 “Settings” → “User interface”,在 “Localization” 中选择 “Chinese-All” 或 “Chinese-English”
  5. 点击 “Apply settings” 并 “Reload UI” 完成汉化

Read more

构建机器人集群系统:ROS 2分布式控制实战指南

构建机器人集群系统:ROS 2分布式控制实战指南 【免费下载链接】PX4-AutopilotPX4 Autopilot Software 项目地址: https://gitcode.com/gh_mirrors/px/PX4-Autopilot 本文将系统讲解如何基于ROS 2构建机器人集群系统,涵盖分布式控制技术原理、核心组件架构、快速部署流程及仓储场景应用。通过从零搭建多机器人协同框架,掌握分布式任务调度与异构机器人协作的关键技术,解决多机通信延迟、任务冲突等核心问题,为工业级机器人集群应用提供完整技术方案。 🔥 技术原理实现方案 机器人集群系统通过分布式控制架构实现多智能体协同,核心在于解决三个关键问题:节点间状态一致性、任务动态分配和实时通信保障。与传统集中式控制相比,分布式架构具有更高的容错性和扩展性,单个节点故障不会导致整个系统瘫痪。 分布式控制的核心算法包括: * 基于一致性协议的状态同步(如Raft算法) * 分布式任务分配的匈牙利算法 * 冲突避免的分布式路径规划 图1:机器人集群分布式控制架构示意图,展示状态感知、任务规划、执行控制的分层协作

MCAP :机器人数据容器的全面实践指南

Outline: MCAP 已形成完整工具链生态: * Foxglove Studio:可视化分析工具 * mcap-cli:跨平台命令行工具 * AWS RoboMaker:原生云存储支持 随着 IEEE 正在制定的 P3196 机器人数据标准,MCAP 正在演进为行业基础架构的重要组成。其设计哲学启示我们:优秀的数据格式应该在存储效率与读取便利间找到平衡,这正是 MCAP 在机器人革命中脱颖而出的关键。 参考资料: 1. https://juejin.cn/post/7508575831791812658 https://getiot.tech/fileformat/mcap/ MCAP :机器人数据容器的全面实践指南 在机器人和自动驾驶系统开发中,高效存储和处理传感器数据是核心挑战之一。传统的 ROS bag 格式在面对大规模、多类型数据时逐渐暴露出性能瓶颈,而 MCAP(Modular Container for Asynchronous

探秘:从零解析一块无资料FPGA核心板的逆向工程

1. 缘起:一块神秘的“黑盒子”板卡 最近天气热得让人提不起劲,手头几本讲阵列信号处理和统计信号的大部头书,翻了几页就丢在一边吃灰了。百无聊赖刷手机时,在某二手平台上看到一块拆机的FPGA核心板,价格相当诱人。卖家描述很简单,就说是从旧设备上拆下来的,没有任何资料——没有原理图,没有管脚定义,甚至连芯片型号都只给了一个模糊的“可能是Cyclone IV”。这种“三无”板子对大多数人来说就是块废料,但对我这种喜欢折腾硬件、享受“破译”过程的人来说,却充满了吸引力。跟卖家简单确认了板子成色和来源,没多犹豫就下单了。 板子到手后,看着这块巴掌大小、布满了密密麻麻元件和过孔的绿色板卡,我仿佛拿到了一块需要解密的“黑盒子”。它的价值不在于它本身,而在于我们能否将它从“未知”变为“已知”。这就是硬件逆向工程的魅力所在:在没有任何官方文档支持的情况下,仅凭观察、测量和逻辑推理,让一块沉默的板卡重新“开口说话”,告诉你它的所有秘密。这个过程就像侦探破案,每一个焊点、每一条走线、每一个器件都是线索。

论文阅读|ArxiV 2025|大模型微调综述|A Survey on Federated Fine-Tuning of Large Language Models

论文阅读|ArxiV 2025|大模型微调综述|A Survey on Federated Fine-Tuning of Large Language Models

论文地址:https://arxiv.org/pdf/2503.12016 相关最新研究动态:https://github.com/Chen-Yang-Liu/Awesome-RS-SpatioTemporal-VLMs 文章目录 * 0.综述结构 * 1.引言 * 2. 背景 * 2.1 大型语言模型 * 2.2 大型语言模型的训练 * 2.3 联邦微调 * 3. 挑战 * 3.1 通信开销 * 3.2 数据异质性 * 3.3 内存墙 * 3.4 计算开销 * 4. 大语言模型与时序图像的融合 * 4.1 基于低秩适应(LoRA)的微调