TL;DR 与前置条件(版本:2025-08-09)
TL;DR:本文给出一条可复现的 Stable Diffusion本地部署教程:Ubuntu 22.04、NVIDIA Driver 550.54、CUDA 12.4、Python 3.10、ComfyUI、kohya_ss。我的实测硬件为 RTX 3060 12GB、32GB RAM、NVMe SSD。首次部署约 35 分钟;512x768、20 steps、SD 1.5 模型单张耗时 4.8 秒。
Pre-requisites:需要 12GB 以上显存用于 LoRA 微调;8GB 显存只能做低分辨率推理或小 batch 训练。磁盘预留 80GB。不要把训练集放机械盘。
Warning: 本文不覆盖云端托管。所有命令默认在 Ubuntu 22.04 LTS 执行。
-
检查 GPU 与驱动。
nvidia-smi # Expected output: # NVIDIA-SMI 550.54.14 Driver Version: 550.54.14 CUDA Version: 12.4 # GPU Name: NVIDIA GeForce RTX 3060 Memory-Usage: 0MiB / 12288MiB -
安装系统依赖。
sudo apt update && sudo apt install -y git python3.10 python3.10-venv python3-pip ffmpeg libgl1 # Expected output: # 0 upgraded, N newly installed, 0 to remove
1. 部署 ComfyUI:用于验证 Stable Diffusion 怎么用
-
拉取 ComfyUI。
mkdir -p ~/ai && cd ~/ai git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI # Expected output: # Resolving deltas: 100% # Cloning into 'ComfyUI'... -
创建虚拟环境并安装 PyTorch。
python3.10 -m venv venv source venv/bin/activate pip install --upgrade pip pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 pip install -r requirements.txt # Expected output: # Successfully installed torch-2.x torchvision-0.x torchaudio-2.x -
放置模型。 Stable Diffusion模型下载完成后,把 checkpoint 放到以下目录。文件示例:v1-5-pruned-emaonly.safetensors,大小约 4.27GB。
mkdir -p models/checkpoints ls -lh models/checkpoints # Expected output: # -rw-r--r-- 1 user user 4.3G v1-5-pruned-emaonly.safetensors -
启动服务。
python main.py --listen 127.0.0.1 --port 8188 # Expected output: # To see the GUI go to: http://127.0.0.1:8188 # Total VRAM 12288 MB
Note: 如果页面能打开但出图报 CUDA out of memory,把 batch_size 改成 1,分辨率降到 512x512。
2. LoRA 微调教程:用 30 张制造业岗位图训练工服风格
-
准备数据。 本例用 30 张 768x768 车间工服照片,目录名格式必须包含重复次数和触发词。
mkdir -p ~/ai/datasets/20_fenghua_worker_uniform ls ~/ai/datasets/20_fenghua_worker_uniform | wc -l # Expected output: # 30 -
安装 kohya_ss。
cd ~/ai git clone https://github.com/bmaltais/kohya_ss.git cd kohya_ss python3.10 -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements_linux.txt # Expected output: # Successfully installed accelerate diffusers transformers xformers -
生成训练配置。kohya_ss怎么用的关键是固定参数,不要边训练边猜。
accelerate config default # Expected output: # accelerate configuration saved at ~/.cache/huggingface/accelerate/default_config.yaml -
启动 LoRA 训练。 RTX 3060 12GB 实测:network_dim=32、batch=1、10 epochs,约 42 分钟。
accelerate launch train_network.py \ --pretrained_model_name_or_path=~/ai/ComfyUI/models/checkpoints/v1-5-pruned-emaonly.safetensors \ --train_data_dir=~/ai/datasets \ --output_dir=~/ai/lora_out \ --output_name=fenghua_uniform_lora_v1 \ --resolution=768,768 \ --network_module=networks.lora \ --network_dim=32 \ --network_alpha=16 \ --train_batch_size=1 \ --max_train_epochs=10 \ --learning_rate=1e-4 \ --mixed_precision=fp16 \ --save_model_as=safetensors # Expected output: # epoch 10/10 # model saved: fenghua_uniform_lora_v1.safetensors
3. 验证、常见故障与 References
-
复制 LoRA 到 ComfyUI。
cp ~/ai/lora_out/fenghua_uniform_lora_v1.safetensors ~/ai/ComfyUI/models/loras/ ls -lh ~/ai/ComfyUI/models/loras/ # Expected output: # -rw-r--r-- 1 user user 36M fenghua_uniform_lora_v1.safetensors -
验证是否有效。 Prompt 使用:
fenghua_worker_uniform, factory worker, blue uniform, clean workshop。Negative prompt 使用:bad hands, blurry, watermark。固定 seed=123456,分别测试 LoRA 权重 0、0.6、0.9。若 0.6 出现稳定工服特征且脸部未崩,训练可用。 -
故障定位。
du -sh ~/ai/datasets ~/ai/lora_out # Expected output: # 180M /home/user/ai/datasets # 120M /home/user/ai/lora_out数据集小于 50MB 通常是图片不足。输出 LoRA 小于 5MB 通常是训练未正常完成。
How to verify it works: ComfyUI 能在 127.0.0.1:8188 打开;单张 512x768 出图小于 8 秒;LoRA 文件存在;同 seed 下开启 LoRA 后服装、场景风格发生可重复变化。
References: ComfyUI 官方项目名、kohya_ss 官方项目名、PyTorch CUDA 12.4 安装说明。国内访问不稳定时,免费方案是配置镜像源或离线拷贝模型;付费网络加速只是可选项,例如 Roxi,不要替代官方渠道和本地校验。