前言
本文记录了在 RTX 5080 16GB 显卡上成功训练 SDXL LoRA 的完整过程。虽然踩了不少坑,但最终找到了稳定可行的配置方案。
环境准备
硬件要求
- 显卡:RTX 5080 16GB(或其他 16GB+ 显存的显卡)
- 内存:推荐 32GB+
- 存储:至少 50GB 可用空间
软件环境
# 必需版本
Python: 3.10.x
CUDA: 12.8+(RTX 50 系列必需)
PyTorch: Nightly 版本
安装步骤
- 克隆项目
git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
- 创建虚拟环境
python -m venv venv
venv\Scripts\activate
- 安装 PyTorch Nightly(RTX 50 系列关键)
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128
- 修复依赖问题 编辑
requirements.txt
,注释掉-e .
这一行:
# -e .
- 运行安装脚本(这个要在命令行执行,不能在powershell执行)
setup.bat
# 选择 1: Setup gui,然后选择 7: Exit setup
网络连接处理
重要提示:如果使用 VPN,务必按以下顺序操作:
- 先关闭 VPN
- 启动 kohya_ss GUI
- 再开启 VPN
- 点击开始训练
这样可以避免 GUI 启动失败,同时确保训练时能下载必需的分词模型。
数据准备
文件夹结构
training_data/
├── dataset/
│ └── 5_trigger_word/ # 5是重复次数,trigger_word是触发词
│ ├── 001.jpg
│ ├── 001.txt
│ ├── 002.jpg
│ ├── 002.txt
│ └── ...
├── output/
└── logs/
标注文件
每个 .txt
文件内容保持简单一致:
trigger_word, 1girl, solo, [特征描述], anime style, masterpiece, best quality
训练配置
启动 GUI
python kohya_gui.py --listen 127.0.0.1 --server_port 7860
关键设置
⚠️ 重要:选择 LoRA 标签页,不是 Dreambooth!
Model 配置
- Pretrained model: 选择你的 SDXL 模型
- Output name: 自定义 LoRA 名称
- Image folder: 指向
dataset
父文件夹
Parameters 配置
Train batch size: 1
Epoch: 8-12
Learning rate: 0.0001
Max resolution: 512,512
网络参数(关键)
Network Rank (Dimension): 8
Network Alpha: 4
学习率设置(重要)
Text Encoder learning rate: 0 # 必须设为 0
T5XXL learning rate: 0 # 必须设为 0
Unet learning rate: 0.0001 # 只训练 UNet
优化设置
LR Scheduler: cosine
Optimizer: AdamW8bit
Mixed precision: bf16
Cache latents: ✓
Advanced 配置
在 "Additional parameters" 中添加:
--gradient_checkpointing --full_bf16
常见问题及解决方案
1. RTX 50 系列兼容性
问题:CUDA capability sm_120 不兼容
解决:必须使用 PyTorch Nightly 版本
2. 依赖安装错误
问题:-e .
导致的安装失败
解决:注释掉 requirements.txt 中的该行
3. 显存不足
问题:CUDA out of memory
解决:
- 确保使用 LoRA 训练而非 Dreambooth
- Text Encoder 学习率设为 0
- 启用 gradient_checkpointing
4. 找不到训练数据
问题:0 train images found
解决:Image folder 应指向包含 5_trigger_word
的父文件夹
5. 分词器下载失败
问题:无法下载 Hugging Face tokenizer
解决:按前述 VPN 使用顺序操作
预期结果
成功配置后的训练表现:
- 显存使用:约 8GB
- 训练速度:1-2 秒/步
- 总耗时:30-60 分钟(取决于数据量和轮数)
- 文件大小:LoRA 文件约 50-100MB
评论区