首页AI 学习中心AI 绘画
AI 绘画进阶25 分钟

LoRA 训练实战:用 20 张照片微调专属风格模型

深入讲解 LoRA 训练实战:用 20 张照片微调专属风格模型,覆盖核心概念、实战步骤与最佳实践。 AI 绘画 进阶 25 分钟

📅 2026年7月26日👁 阅读❤️ 点赞
# LoRA# 微调

LoRA 训练实战:用 20 张照片微调专属风格模型

在 Stable Diffusion 生态中,LoRA(Low-Rank Adaptation)是一种高效模型微调技术。它无需训练整个大模型,仅通过少量图片(10-30 张)即可学习特定对象或风格,生成模型权重仅几十 MB,便于分享和部署。本文面向已有 Stable Diffusion WebUI 使用经验的进阶读者,完整演示从数据准备到模型部署的全流程。

环境准备与数据采集

推荐使用 Kohya_ss GUI 工具(基于 diffusers 和 bitsandbytes),支持 Windows/Linux。需准备:

  • Python 3.10+,CUDA 11.8 以上
  • 训练图片:20 张高质量照片(512x512 或 768x768 分辨率),建议主题一致(如“我的猫”、“某角色”或“特定画风”)
  • 图片预处理:使用 WebUI 的 Preprocess 功能进行裁剪、去模糊,确保主体清晰
数据目录结构
./train/

├── images/ # 训练图片(PNG/JPEG)

│ ├── cat_01.png

│ ├── cat_02.png

│ └── ...

└── caption/ # 可选:描述文本(txt 文件,每图对应)

├── cat_01.txt

└── ...

训练参数配置(核心)

LoRA 训练的关键参数对比如下,直接影响模型效果与过拟合程度:

参数推荐值说明
resolution512与训练图片一致,过高易导致显存溢出
train_batch_size1-4根据 GPU 显存(6GB 以上)调整
learning_rate1e-4 ~ 5e-5过大导致过拟合,过小收敛慢
max_train_steps500-150020 张图推荐 1000 步,可结合 lr_scheduler 衰减
network_dim64LoRA 矩阵秩,128 更精细但模型体积翻倍
network_alpha32缩放因子,与 dim 配合防止梯度爆炸
optimizerAdamW8bit混合精度训练,节省显存

关键配置解释
  • network_dim(秩)控制模型容量:64 适合简单风格(如特定色调),128 适合复杂对象(如人物面部)
  • lr_scheduler:推荐 cosine_with_restarts,在训练后期降低学习率,避免过拟合

执行训练(命令行示例)

使用 Kohya_ss 的 train_network.py 脚本,以下为最小化命令(基于 diffusers):

accelerate launch train_network.py \

--pretrained_model_name_or_path="runwayml/stable-diffusion-v1-5" \

--train_data_dir="./train/images" \

--output_dir="./output" \

--resolution=512 \

--train_batch_size=2 \

--learning_rate=1e-4 \

--max_train_steps=1000 \

--network_module="networks.lora" \

--network_dim=64 \

--network_alpha=32 \

--mixed_precision="fp16" \

--save_model_as="safetensors" \

--output_name="my_cat_style"

训练完成后,./output 目录会生成 my_cat_style.safetensors 文件(约 70-144 MB)。

模型部署与推理

将生成的 LoRA 文件放入 Stable Diffusion WebUI 的 models/Lora 目录(或 extensions/sd-webui-additional-networks 的 models 目录)。在 WebUI 中:

  1. 选择基础模型(与训练时一致,如 v1-5 或 SDXL)
  2. 在 prompt 中添加 (权重 0.8 表示融合度)
  3. 输入描述词:a cat sitting on a couch,
  4. 生成图片,对比有无 LoRA 的效果差异

调优提示
  • 权重过高(>1.0)可能导致风格溢出或 artifacts
  • 若训练集背景复杂,可添加 --shuffle_caption 参数增强泛化能力

常见问题与排查

  • 过拟合:训练步数过多或学习率过高 → 减少 max_train_steps 至 800,或降低 learning_rate 至 5e-5
  • 欠拟合:模型未学到特征 → 增加 network_dim 至 128,或延长训练步数至 1500
  • 显存不足:减小 train_batch_size 至 1,或使用 --gradient_accumulation_steps=2 等效模拟更大 batch
  • 图片质量差:确保所有图片分辨率一致,主体无遮挡,背景不宜杂乱

小结

本文完整演示了使用 20 张照片微调 LoRA 风格模型的流程,覆盖环境搭建、参数配置、训练执行与推理部署。关键点在于调整 network_dimlearning_rate 的平衡,以及数据质量的把控。进阶用户可进一步尝试多概念 LoRA(如同时微调角色与背景),或使用 DreamBooth 结合 LoRA 进行更精细的控制。如需更深入的技术讨论,请访问 AI Explorer 联系页面。

觉得这篇文章有帮助?点个赞支持一下 👇

点赞会记录在本地,不需要登录

相关教程

← 上一篇
Chain-of-Thought 提示词:让 AI 逐步推理的完整方法论
← 返回学习中心
AI Explorer · 实战教程