跳到主要内容

秋葉丹炉炼LoRA教程

本教程介绍如何使用sd-trainer 进行Lora模型的训练。

img

背景

SD-Trainer是Stable Diffusion进行LoRA训练的webui(现在也支持FLUX训练)。LoRA,英文全称Low-Rank Adaptation of Large Language Models, 是微软的研究人员为了解决大语言模型微调而开发的一项技术。有了SD-Trainer,只需要少许图片,每个人都能够方便快捷地训练出属于自 己的stable diffusion模型,可以让图片按照你的想法进行呈现。

第一步 创建应用

进入「应用启动器」页面,点击SD-Trainer镜像,点击部署;

(专业版用户请在镜像社区找到SD-trainer点击部署)

img

选择以下下面信息后,点击立即部署;

  • 可用区:选择可用区(请注意,不同可用区之间的存储互不相通)
  • 资源类型:选择租用显卡,一般3090或4090单卡即可满足需求,如果需要更高配置训练的用户可以选择更高阶的卡,比如A100(如无库存可咨询客服哦)
  • 计费模式:按需选择按量、包周、包月即可,包周包月均有折扣哦
  • 选择优惠券

img

这里我选择的B2区,单卡4090

创建成功后,会自动跳转至我的应用列表,一般1-3分钟可启动成功,待实例状态由创建中变为运行中后,点击【进入空间】就可以打开SD-Trainer页面了。 注:分钟计费,使用完成后一定记得点击停止,避免不必要的扣费哦!

img

第二步 准备训练所需目录

进入「我的存储」页面,切换应用所在可用区,点击可用区共享数据→az-data目录→分别创建训练一级文件夹train及二级文件夹img/output/logs。(如图所示)

  • 例如:应用在可用区B2区,就需要切换到B2区新建哦

  • /az-data:可用区共享数据路径。存放于这里的数据,您在该可用区下的任一工作空间都可以访问该路径下内容

  • 专业版用户,请在实例共享存储菜单进行对应操作

没有训练经验的用户,请严格按照步骤执行

  • img文件夹:存放训练的数据集文件夹
  • output文件夹:训练模型输出路径
  • logs文件夹:日志输出路径

img

img

第三步 上传数据集

img

进入az-data/train/img目录,点击上传->上传文件夹,上传自己的数据集。

注:如果图片数量较多请参考小黄鸭或者命令行快速批量上传。

上传图片文件夹格式为:“xx_XXXXX”,xx是数字,代表训练步数,XXXXX为自定义名称,例如20_bl

第四步 图片预处理打标 (如果本地已经打标好,可忽略此步骤)

点击左侧导航「WD 1.4 标签器」,复制训练集路径放到图片文件夹路径下,点击启动,打标完成网盘会输出对应的txt文件。

用上面的20_bl文件夹为例,图片文件夹路径就是:/az-data/train/img/20_bl

img

第五步 准备训练用的底模

img

可用平台预装的模型训练,进入vscode→点击左侧新建→Open Folder→搜索/models_storage→点击ok→点击yes;

img

img

进入到checkpoints大模型列表页,这里预装了常用的大模型,您可按需选择。

majicmixRealistic_v7模型为例,右键单击copy path即可获取模型完整路径:/models_storage/stable-diffusion-models/checkpoints/majicMIX_realistic_麦橘写实/v7/majicmixRealistic_v7.safetensors

img

如果平台没有的底模型,您可以参考小黄鸭或者命令行自行上传;或者使用filebrower工具上传

第六步 开始训练

首先需要配置参数

初次训练用户请严格按照教程执行!!

本例中使用专家模式,以majicmixRealistic_v7模型举例, 其中以下路径类参数必须修改,否则保存的模型/日志重启会丢失!!!

  • 底模文件路径:/models_storage/stable-diffusion-models/checkpoints/majicMIX_realistic_麦橘写实/v7/majicmixRealistic_v7.safetensors

  • 训练数据集路径:/az-data/train/img/

  • 模型保存文件夹:/az-data/train/output/

  • 日志保存文件夹:默认./logs 无需更改路径 训练过程中如果tensorboard要实时查看日志,则无需更改路径默认./logs即可,但注意该目录非持久化重启会丢失;如需持久化保存下次对比使用,训练完成后请务必复制到持久化路径/az-data/train/logs/点击查看操作步骤

  • tag文件扩展名:默认.txt

img

img

img

img

  • 其他参数:如epoch轮次、batch_size等可根据实际需要填写

sdxl训练lora注意事项

  • 训练种类选择:sdxl-lora
  • 模型保存精度&训练混合精度默认是fp16,需要都改为bf16

img

img

img

FLUX训练lora注意事项

下面提供一些重要路径参数

  • Flux 模型路径:/models_storage/stable-diffusion-models/models/unet/FLUX1/flux1-dev.sft
  • AE 模型文件路径:/models_storage/stable-diffusion-models/models/vae/FLUX1/ae.sft
  • clip_l 模型文件路径:/models_storage/stable-diffusion-models/models/clip/clip_l.safetensors
  • t5xxl 模型文件路径:/models_storage/stable-diffusion-models/models/clip/t5xxl_fp16.safetensors 其他同前面流程一样

img

点击开始训练

检查配置完成后,可点击“直接开始训练”,训练进度可在工作空间-更多-日志里面查看。

img

img

提示训练完成后,在您之前创建的/az-data/train/output/文件夹即可找到您的训练的模型。

选中lora模型右侧的移动按钮,移动到可用区共享数据/Lora目录就可以在sd webui或者comfyui使用啦!

img

img

问题FAQ

tensorboard日志如何显示查看?

tensorboard日志文件:训练过程中如果tensorboard要实时查看日志,则无需更改路径默认./logs即可实时查看。

注意:官方默认logs目录非持久化,重启会丢失,如果您未更改路径,训练完成后请复制到az-data目录后可持久化存储才可下次使用哦。

./logs默认目录为:/opt/lora-scripts/logs

logs持久化存储目录为:/az-data/train/logs/

第一步:进入jupyterlab,点击进入az-data/train/logs文件夹,选中训练好的日志文件夹,右键copy复制(如图所示)

img

第二步:点击进入opt/lora-scripts/logs文件夹,右键粘贴日志文件夹(如图所示)

img

第三步:刷新下页面,即可查看tensorboard日志(如图所示)

img

如何快速获取目录地址

点击查看获取路径方式