秋葉丹炉炼LoRA详细教程 #
本教程介绍如何使用sd-trainer by 秋葉aaaki 进行Lora模型的训练。
本镜像由秋葉aaaki亲手制作再次表示感谢
背景 #
SD-Trainer是stable diffusion进行LoRA训练的webui,LoRA,英文全称Low-Rank Adaptation of Large Language Models, 是微软的研究人员为了解决大语言模型微调而开发的一项技术。有了SD-Trainer,只需要少许图片,每个人都能够方便快捷地训练出属于自 己的stable diffusion模型,可以让图片按照你的想法进行呈现。
第一步 启动秋叶训练器 #
目前秋叶训练器我们提供了应用启动器和自定义创建手动启动两种方式启动。如果您是新手,请使用应用启动器启动,无需输入任何命令,参考方法一;如果您习惯使用终端代码调试,参考方法二。
方法一:新手推荐-应用启动器:启动一步走 #
进入「应用启动器」页面,选择「秋葉炼丹炉SD-Trainer」训练器,点击「部署」按钮,点击「立即创建」,会进入「工作空间」页面;
创建完成后稍等片刻,无需其他任何操作,等待「打开应用」按钮可点击后,点击该按钮就可以进入sd-trainer界面训练啦.
提醒:启动器不需要自己输入命令哦,如果查看启动/打标/训练进度,进入工作空间详情-日志查看。
方法二:熟手推荐-自定义创建:启动三步走,自主操控 #
一、购买算力创建工作空间 #
点击去市场,选择一台3090或4090的机器,点击自定义创建,按照以下内容配置,点击立即创建(如图所示):
- 镜像:选择【秋葉炼丹炉SD-Trainer】;
- 网盘:默认挂载;
- 数据集:默认挂载sd-base(sd-base中有常用sdxl模型/sd1.5底模/lora模型/VAE模型均可以使用);
- 启动方式:选择手动启动;
二、开启工作空间 #
点击创建后,一般1-2分钟可启动成功,待实例状态由启动中变为运行中后,点击进入vscode
三、启动sd-trainer #
1、进入vscode后,点击【打开文件夹】,输入/home/user/后点击OK,选择信任,最后我们在左侧栏就能看到目录文件。
-
如果您需要使用sd-base数据集中的模型作为训练底模文件等,可以找到模型后右键单击【复制路径】可获取模型完整路径,下面训练时候会用到这个路径,需要特别记住一下。
-
sd底模路径:
/home/user/imported_datasets/sd-base/models/Stable-diffusion/模型文件名称
-
sdxl模型路径:
/home/user/imported_datasets/sd-base/sdxl/模型文件名称
-
VAE模型路径:
/home/user/imported_datasets/sd-base/models/VAE/模型文件名称
2、点击左上角新建terminal终端,
运行以下启动命令,然后按回车键;
nohup bash /home/user/start.sh > train.log 2>&1 &
启动/训练进度输入以下命令查看:
tail -fn 500 train.log
运行结果显示为“TensorBoard 2.101 at http://0.00.:6006/ ”代表运行完成,即可进入sd-trainer的页面进行训练。(如图所示)
如果您在训练中想要停止重新训练,可输入以下停止命令,然后重新运行启动命令:
pkill -9 -f '27777' && pkill -9 -f 'lora-scripts'
第二步 开始训练 #
打开sd-trainer页面 #
请返回工作空间点击打开调试地址(应用启动器点击打开应用),就可以进入sd-trainer的页面啦。
训练前准备 #
准备待训练数据集和训练底模
首先进入左侧导航网盘data目录,新建训练文件夹sd_train_dataset,再新建二级文件夹分别为img/outputs/model/log的文件夹,该文件夹路径为/ark-contexts/data/sd_train_dataset/XXX
,点击「复制地址」按钮即可复制完整路径。
点击网盘右侧的上传文件夹,或通过文件管理功能上传;
img文件夹:放训练的数据集文件夹,上传图片文件夹格式为:“xx_XXXXX”,其中xx是数字,代表训练步数,XXXXX为自定义名称,例如10_item
model文件夹:放训练用的底膜(快速上传模型方法),也可直接选用上面提到的sd-base数据集中的模型来使用就行。
outputs文件夹:模型保存路径
log文件夹:日志输出路径
图片预处理打标 #
点击左侧导航【WD 1.4 标签器】,复制训练集路径放到图片文件夹路径下,点击启动,打标完成网盘会输出对应的txt文件。
用上面提到的上传10_item文件夹为例,图片文件夹路径就是:/ark-contexts/data/sd_train_dataset/img/10_item
输入路径,开始训练 #
选择新手或专家两种模式,新手模式暴露的参数更少,如果对此流程不熟悉,推荐新手模式,本例中使用专家模式,可根据训练需要调整参数.
其中路径类参数必须修改,否则保存的模型重启会丢失
- 底模文件路径:使用sd-base数据集中的模型,或用自己上传的底膜底膜路径。我这里用的数据集中的模型,路径为
/home/user/imported_datasets/sd-base/models/Stable-diffusion/3Guofeng3_v33.safetensors
- 训练数据集路径:
/ark-contexts/data/sd_train_dataset/img/
- 模型保存文件夹:
/ark-contexts/data/sd_train_dataset/outputs/
- 日志保存文件夹:
/ark-contexts/data/sd_train_dataset/log/
- tag文件扩展名:默认.txt
如果是训练sdxl的lora,需要注意(如图所示)
- 训练种类选择:sdxl-lora
- 模型保存精度&训练混合精度默认fp16,需加个sdxl的VAE,输入路径:
/home/user/imported_datasets/sd-base/models/VAE/madebyollin-sdxl-vae-fp16-fix.safetensors
,不然会训练失败;或模型保存精度&训练混合精度都改为bf16,无需加vae就可以。
检查配置完成后,可点击“直接开始训练”,在您前面开启的终端中可监控模型训练结果
备注:如果出现训练失败,可以稍等一分钟,再重新点击开始训练。
查看训练进度 #
-
如是使用应用启动器或自动启动方式的,您可点击工作空间详情-日志,查看打标/训练进度
-
如使用手动启动的,在您前面使用的终端中查看训练进度
提示训练完成后,在您之前创建的data/sd_train_dataset/outputs
文件夹即可找到您的模型.
通过文件管理功能传输到Stable Diffusion Web UI网盘data/sd-4/models/Lora目录就可以使用啦!