lora-scripts 安装使用

LoRA-scripts

基于 kohya-ss/sd-scripts扩展的LoRa训练脚本,被称为秋叶的脚本;

大家也可以参考秋叶官的视频教程:https://www.bilibili.com/video/BV1f

软件环境

  • python 3.10.8
  • git

资源下载

注:连带子模块sd-scripts一起下载

git clone --recurse-submodules https://github.com/Akegarasu/lora-scripts

安装

上面下载完成后使用PowerShell命令行的方式执行install-cn.ps1即可,由于PowerShell默认是禁止脚本执行的,执行下面命令手动打开一下就好

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

训练

这里引用一张秋叶视频教程的图

创建一个目录`10_lyf ,将训练集剪贴到里面,这个目录可以随便放哪里都可以,表示每张照片训练10次;

然后打开train1.ps1 脚本编辑,打开后修改如下几个参数,其他的保持默认就好;

# base model path | 底模路径
$pretrained_model = "F:\models\Stable-Diffusion\chilloutmix_NiPrunedFp16Fix.safetensors" 
# train dataset path | 训练数据集路径,即我们上面准备的10_lyf,注意要选他的上一层路径
$train_data_dir = "./train/mikami" 
​
# image resolution w,h. 图片分辨率,宽,高。支持非正方形,但必须是 64 倍数。
$resolution = "512,512" 
$batch_size = 4 # batch size
# max train epoches | 最大训练 epoch
$max_train_epoches = 12 
# save every n epochs | 每 N 个 epoch 保存一次
$save_every_n_epochs = 4 
​
# output model name | 模型保存名称,我们存储为mikami-qiuye用于区分
$output_name = "mikami-lyf" 
# model save ext | 模型保存格式 ckpt, pt, safetensors
$save_model_as = "safetensors" 

其中最大训练epoch(max_train_epoches)即循环次数为12次;
save_every_n_epochss是每4次保存一次;
batch_size设置的为4,表示每步训练4张图片;
步数计算公式为

步数计算 = 图片张数 x 每张训练步数 x 最大epoch / batch_size

按照我们的设置,有15张照片,每张训练10次,所以每个epoch为150步,一共12个epoch,因此150 x 12为1800步,由于我们的batch_size为4,因此1800 / 4 = 450步

训练完成后可以脚本目录下找到output 目录,里面即是保存好的LoRA,由于我们一共12个epoch,每4个epoch保存以此,因此是三个文件,其中mikami-lyf.safetensors 是跑完12个epoch的文件