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

从0到1打造RISC-V智能家居中控:硬件+固件+通信全链路实战

从0到1打造RISC-V智能家居中控:硬件+固件+通信全链路实战

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * 从0到1打造RISC-V智能家居中控:硬件+固件+通信全链路实战 🏠💡 * 为什么选择RISC-V?🤔 * 系统整体架构概览 🧩 * 第一步:硬件选型与电路搭建 🔌 * 主控芯片选择 * 外设连接 * 第二步:开发环境搭建 🛠️ * 安装步骤(以Ubuntu为例) * 第三步:裸机驱动开发(Bare Metal)⚡ * 示例1:DHT11温湿度读取(Bit-banging) * 示例2:BH1750光照传感器(I2C) * 第四步:引入FreeRTOS实现多任务调度 🔄 * 第五步:Wi-Fi连接与MQTT通信 ☁️📡 * 连接Wi-Fi * MQTT客户端(使用esp-mqtt库) * 第六步:BLE本地控制(无需Wi-Fi)📱

5个核心技巧:用DroneKit-Python构建可靠的无人机应用

5个核心技巧:用DroneKit-Python构建可靠的无人机应用 【免费下载链接】dronekit-pythonDroneKit-Python library for communicating with Drones via MAVLink. 项目地址: https://gitcode.com/gh_mirrors/dr/dronekit-python 当你第一次接触无人机编程时,可能会被各种技术细节搞得晕头转向。别担心,今天我们就来聊聊如何用DroneKit-Python这个强大的库,避开那些新手常踩的坑,写出既稳定又高效的无人机控制程序。🚀 为什么你的无人机应用需要"防御性编程"? 你可能已经注意到,无人机控制与传统的软件开发有很大不同。MAVLink协议虽然强大,但它有几个关键特点需要我们特别注意: * 非可靠传输:消息可能在传输过程中丢失 * 缺乏确认机制:大多数命令不会发送"已完成"的确认 * 命令可能被中断:飞控在特定状态下会忽略某些指令 想象一下,你发送了一个起飞命令,但无人机毫无反应。这时候,防御性编程就能帮我们快速定位问题所在。 技巧一:

FPGA开发必看!Xilinx Vivado付费IP核License状态解读与获取/vivado最新license获取

FPGA开发必看!Xilinx Vivado付费IP核License状态解读与获取/vivado最新license获取

Xilinx(AMD) vivado软件全部付费IP核及license许可介绍和获取 制作不易,记得三连哦,给我动力,持续更新!!! License或IP src源码 文件下载:Xilinx IP 完整license获取 (点击蓝色字体获取)(可提供IP源码) 一、介绍 Vivado是Xilinx(现属AMD)FPGA开发的核心工具,其内置的IP核资源库极为丰富。这些IP核根据来源可分为两大类: 一类是Xilinx官方提供的IP核,另一类则来自第三方供应商。从授权方式来看,又可划分为免费授权和商业授权两种类型。对于需要商业授权的IP核,用户必须获取对应的License文件方可正常使用。 二、Xilinx IP核 2.1 Xilinx 免费IP Xilinx(AMD)自主开发的IP核主要提供基础功能模块和必要接口组件,涵盖数字信号处理、通信协议、存储控制等通用功能。这类IP核已集成在Vivado开发环境中,用户完成软件安装后即可直接调用,无需额外授权文件。其完整支持设计全流程,包括功能仿真、逻辑综合、布局布线以及比特流生成。在Vivado的License管理界面中,

【无人机】无人机路径规划算法

【无人机】无人机路径规划算法

目录 一、引言:无人机与路径规划算法 二、路径规划算法基础 (一)定义与重要性 (二)规划目标与约束条件 三、常见路径规划算法详解 (一)A * 算法 (二)Dijkstra 算法 (三)RRT(快速扩展随机树)算法 (四)蚁群算法 四、算法应用实例与效果展示 (一)不同场景下的算法应用 (二)算法性能对比数据 五、算法的优化与发展趋势 (一)现有算法的优化策略 (二)结合新技术的发展方向 六、挑战与展望 (一)面临的技术挑战 (二)未来应用前景 七、结论 一、引言:无人机与路径规划算法 在科技飞速发展的今天,无人机作为一种极具创新性的技术产物,已深度融入我们生活的方方面面,