TL;DR 与前置条件
TL;DR:本文基线日期为 2025-02-18。硬件为 RTX 4060 8GB、32GB RAM、1TB NVMe。软件为 Ubuntu 24.04、NVIDIA Driver 550.54、CUDA 12.1、Python 3.10.13、ComfyUI、kohya_ss。目标:完成 Stable Diffusion本地部署教程、SDXL模型下载、LoRA训练怎么用、kohya_ss教程 的最小闭环。
前置条件:系统盘剩余空间不少于 80GB。训练 20 张制造业岗位宣传图风格素材时,1024x1024、batch size 1、network dim 16,实测显存峰值 7.6GB,单轮约 11 分钟。
Note: 本地部署不依赖 Gemini怎么注册、Google AI怎么用、Gemini国内使用 这类在线访问链路。它的瓶颈是显存、磁盘和模型版权。
nvidia-smi
# Expected output:
# Driver Version: 550.54
# CUDA Version: 12.4
# GPU Memory: 8188 MiB
python3 --version
# Expected output:
# Python 3.10.13
1. 部署 ComfyUI 并加载 SDXL Turbo
-
安装系统依赖。不要用 root 跑工作目录。
sudo apt update && sudo apt install -y git python3.10-venv python3-pip aria2 # Expected output: # 0 upgraded, 4 newly installed, 0 to remove -
拉取 ComfyUI。版本记录:ComfyUI main,测试日期 2025-02-18。
mkdir -p ~/ai && cd ~/ai git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install -r requirements.txt # Expected output: # Successfully installed torch-2.4.x # Successfully installed -r requirements.txt -
放置模型。将 SDXL Turbo 的
.safetensors文件放入以下目录。这里不提供外链,按模型发布方许可自行下载。mkdir -p ~/ai/ComfyUI/models/checkpoints ls -lh ~/ai/ComfyUI/models/checkpoints # Expected output: # -rw-r--r-- 1 user user 6.5G sdxl_turbo.safetensors -
启动服务。本机访问
http://127.0.0.1:8188。cd ~/ai/ComfyUI source venv/bin/activate python main.py --listen 127.0.0.1 --port 8188 # Expected output: # To see the GUI go to: http://127.0.0.1:8188
Warning: 如果浏览器能打开但出图报 CUDA OOM,先把分辨率降到 768x768,steps 设为 4,CFG 设为 1.0。SDXL Turbo 不需要 20-30 steps。
2. 用 kohya_ss 做 LoRA 微调
-
安装 kohya_ss。此处使用 Python 3.10,避免 3.12 依赖冲突。
cd ~/ai git clone https://github.com/bmaltais/kohya_ss.git cd kohya_ss python3 -m venv venv source venv/bin/activate pip install --upgrade pip ./setup.sh # Expected output: # Setup finished successfully -
准备数据集。示例:20 张奉化先进制造业车间、CNC、质检岗位图;每张配一个同名
.txt标签文件。mkdir -p ~/datasets/fenghua_lora/20_fenghua_mfg ls ~/datasets/fenghua_lora/20_fenghua_mfg | head # Expected output: # 001.png # 001.txt # 002.png # 002.txt -
生成训练配置。8GB 显存建议参数如下。
cat > ~/ai/kohya_ss/train_fenghua_lora.sh <<'EOF' #!/usr/bin/env bash source ~/ai/kohya_ss/venv/bin/activate accelerate launch sd-scripts/sdxl_train_network.py \ --pretrained_model_name_or_path=~/ai/ComfyUI/models/checkpoints/sdxl_turbo.safetensors \ --train_data_dir=~/datasets/fenghua_lora \ --output_dir=~/ai/lora_out \ --output_name=fenghua_mfg_v1 \ --resolution=1024,1024 \ --network_module=networks.lora \ --network_dim=16 \ --network_alpha=8 \ --train_batch_size=1 \ --max_train_epochs=8 \ --learning_rate=1e-4 \ --mixed_precision=fp16 \ --save_model_as=safetensors \ --cache_latents \ --gradient_checkpointing EOF chmod +x ~/ai/kohya_ss/train_fenghua_lora.sh # Expected output: # no output -
开始训练并记录耗时。
time ~/ai/kohya_ss/train_fenghua_lora.sh # Expected output: # model saved: fenghua_mfg_v1.safetensors # real 88mxx.xxxs
| 项目 | 实测值 | 测量方法 |
|---|---|---|
| 显存峰值 | 7.6GB | watch -n 1 nvidia-smi |
| 训练集 | 20 图 + 20 标签 | find 计数 |
| 输出文件 | 约 37MB | ls -lh |
3. 验证是否可用与 References
复制 LoRA 到 ComfyUI,重启后在工作流中添加 LoRA Loader。提示词示例:fenghua_mfg, clean CNC workshop, technician inspecting parts, industrial recruitment poster。
cp ~/ai/lora_out/fenghua_mfg_v1.safetensors ~/ai/ComfyUI/models/loras/
ls -lh ~/ai/ComfyUI/models/loras/fenghua_mfg_v1.safetensors
# Expected output:
# -rw-r--r-- 1 user user 37M fenghua_mfg_v1.safetensors
如何确认修好:同一 seed 下,启用 LoRA 后画面应稳定出现车间、工装、检测设备等训练集特征;关闭 LoRA 后这些特征明显减弱。若无变化,检查 LoRA 名称、权重是否为 0、模型类型是否 SDXL。
References: ComfyUI、kohya_ss、PyTorch、NVIDIA Driver 文档。免费方案优先;官方模型渠道优先。若本地网络拉取依赖不稳定,也可以把商都加速器作为可选网络工具之一:https://wizzegroup.com。