TL;DR: 本文档详细记录了在NVIDIA GPU环境下,使用Automatic1111 WebUI部署Stable Diffusion并进行LoRA模型微调的标准SOP。旨在提供一套可复现、高效的AI绘画环境搭建与模型优化流程,以支持团队内部的视觉内容生成需求。关键步骤包括环境准备、WebUI安装、基础模型下载及LoRA模型训练。
1. 前置条件与环境准备
版本信息: Python 3.10.x, Git 2.x, CUDA Toolkit 11.8
日期: 2024-07-25
1.1. 硬件要求
- NVIDIA GPU (推荐 RTX 30系列或更高,显存不低于8GB)
- SSD存储 (推荐100GB以上可用空间)
- RAM (推荐16GB以上)
1.2. 软件安装
确保系统已安装必要的依赖。本指南假定操作系统为Windows 10/11或Ubuntu 22.04 LTS。
1.2.1. 安装Python 3.10.x
下载并安装Python 3.10.x。安装时务必勾选“Add Python to PATH”。
python --version
Python 3.10.9
1.2.2. 安装Git
下载并安装Git。使用默认配置即可。
git --version
git version 2.41.0.windows.1
1.2.3. 安装CUDA Toolkit (NVIDIA GPU用户)
根据您的NVIDIA驱动版本,下载并安装对应的CUDA Toolkit。推荐11.8版本。
Note: CUDA安装完成后,验证其是否正确配置。
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_May__3_18:49:52_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0
2. Stable Diffusion WebUI (Automatic1111) 本地部署
本节详细阐述如何进行 Stable Diffusion本地部署,使用Automatic1111作为WebUI。
2.1. 克隆WebUI仓库
选择一个合适的目录,执行克隆操作。
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Cloning into 'stable-diffusion-webui'...
remote: Enumerating objects: 20000, done.
remote: Counting objects: 100% (5000/5000), done.
...
2.2. 下载基础模型
从Hugging Face或Civitai下载Stable Diffusion Checkpoint模型 (例如:sd_xl_base_1.0.safetensors)。
将模型文件放置到 stable-diffusion-webui/models/Stable-diffusion/ 目录下。
Warning: 模型文件通常较大 (4GB-7GB),确保下载过程中网络稳定。
2.3. 启动WebUI
进入 stable-diffusion-webui 目录,运行启动脚本。
cd stable-diffusion-webui
webui-user.bat # Windows
./webui.sh # Linux/macOS
... Running on local URL: http://127.0.0.1:7860
...
首次启动会自动下载依赖。等待启动完成后,通过浏览器访问显示的URL。
3. LoRA模型微调 (Fine-tuning)
LoRA(Low-Rank Adaptation)是一种高效的微调技术,用于在预训练模型的基础上学习特定风格或概念。本节介绍 LoRA模型微调 的基本流程。
3.1. 数据集准备
收集一组高质量的图像(推荐10-20张),用于训练LoRA模型。图像尺寸建议统一为512x512或1024x1024。
Note: 图像质量直接影响微调效果。确保图像内容清晰、风格一致。
3.2. 图像标注 (Captioning)
使用如WD14 Tagger等插件对数据集图像进行标注,生成描述性文本文件(.txt)。
在WebUI中,导航至“Extensions” -> “Install from URL” -> 输入Tagger插件URL -> “Install”。重启WebUI后,在“Interrogator”标签页中使用Tagger。
3.3. 启动LoRA训练
在WebUI中,导航至“Train” -> “Train LoRA”。
- Source model: 选择用于微调的基础Checkpoint模型。
- Dataset directory: 指定包含图像和标注文件的目录。
- Output directory: 指定LoRA模型保存路径。
- Learning rate: 推荐
1e-5到5e-5。 - Batch size: 根据显存大小设置,推荐
1。 - Epochs: 训练轮次,推荐
10-20。
点击“Train LoRA”开始训练。训练过程可能耗时数小时,具体取决于数据集大小和硬件性能。
Note: 训练过程中可通过Log观察Loss值变化,判断训练进度。过拟合可能导致效果不佳。
4. 使用微调后的LoRA模型
训练完成后,生成的LoRA模型文件(.safetensors)将保存在指定输出目录。
将LoRA模型文件移动到 stable-diffusion-webui/models/Lora/ 目录。
在WebUI的“txt2img”或“img2img”界面,通过点击“Show/hide extra networks”按钮,选择并应用您的LoRA模型。在Prompt中加入 <lora:your_lora_model_name:strength> 即可激活。
例如:a photo of a cat, <lora:cat_style_v1:0.7>
5. 故障排除与常见问题
- 显存不足 (CUDA out of memory): 尝试降低图像分辨率、减小Batch size或使用
--medvram/--lowvram启动参数。 - 模型下载慢: 检查网络连接或更换下载源。
- WebUI无法启动: 检查Python版本、Git安装及依赖是否完整。查看控制台报错信息。
References: