赞
踩
在本篇文章中,我们将探索如何训练一个能够将喜爱的人物置入任何场景中并实现高度一致性的LoRA模型。借助LoRA,我们能够创造出极为逼真的人物图像,就如同我为斯嘉丽训练的LoRA模型所展示的那样。
那么,让我们一起深入了解如何训练LoRA。
在多种工具中,Kohya训练器因其全面的功能——不仅限于训练LoRA,也包括DreamBooth和Text Inversion——而广受欢迎。
国内也有一些开发者制作出了一些好用的训练器,比如赛博丹炉和秋叶丹炉。它们的原理和Kohya一样,设置好参数以后,最终都会转化为脚本进行训练。所以说,掌握了Kohya训练器以后,其他的训练器也不在话下。
训练LoRA的流程包括以下几个关键步骤:
1️⃣ 准备数据集:选取适合训练的图片。
2️⃣ 图片预处理:进行裁剪和打标,为图片添加合适的标注或提示词。
3️⃣ 设置训练参数:在Kohya训练器中进行参数设置。
4️⃣ 开启训练:通过命令行查看训练进度。
5️⃣ 测试训练结果:挑选出效果最佳的LoRA文件进行测试。
为了解决可能出现的疑惑,本段落将深入解释LoRA训练的底层逻辑。通过深入了解这一过程,您将能更清晰地把握如何训练出一个高质量的LoRA模型。
LoRA模型的训练目标是生成的图片与原训练图像高度相似。这是通过在Diffusion模型上添加额外权重来实现的,这些权重被保存在一个称作LoRA文件的单独文件中。可以将LoRA文件视为Diffusion模型的一种插件,这种插件会根据训练过程不断调整权重,以达到与原始训练图相似的效果。
通过上述步骤,LoRA模型的训练涉及到精细的权重调整和优化,确保了生成图像与原始训练图之间的高度相似性。希望这一解析能帮助您更好地理解LoRA模型的训练机制。
在理解了LoRA训练的底层逻辑后,我们现在可以开始实际的训练过程了。本次我们将以众所周知的好莱坞明星斯嘉丽·约翰逊为例,展开训练。下面是详细的步骤和一些建议,希望能帮助你顺利完成LoRA模型的训练。
成功的LoRA训练起始于高质量的数据集。以下是一些建议,帮助你准备一个合格的训练集:
选择合适的图片作为训练集是至关重要的第一步。优质的数据集直接影响训练结果的质量。
为了让AI更好地学习人物的脸部特征,建议以1比1的宽高比进行裁剪,主要聚焦于头部区域。稍微包含一些肩膀部分也是可以的。这样的裁剪策略有助于生成更加逼真的LoRA图像。这样可以让AI充分学习人物的脸部特征,生成的LoRA也更像。如果到时候我们训练出的LoRA生成的图片只有大头照也没关系,因为我们可以先生成其他人物的全身照,然后用LoRA生成的大头照进行换脸。 这几张斯嘉丽的图片我就是这样生成的。灵活度很高,想要什么风格就什么风格。
鉴于许多在线图片的分辨率较低,裁剪后的图片分辨率可能进一步降低。因此,我们推荐将图片放大至至少512x512的分辨率。如果条件允许,可以考虑放大到768x768。图片放大不仅可以提升图片细节,还能丰富训练过程中的学习材料。
放大完以后,我们就可以进行最终裁剪啦。
通过遵循上述步骤,你将能够为LoRA训练准备好高质量的数据集,并进行有效的预处理。这样的准备工作是成功训练LoRA模型的关键。希望这些指导能帮助你顺利进行训练,并创造出令人印象深刻的人物图像。
在图片处理完成之后,我们将进入Kohya训练器的设置阶段,这一阶段是LoRA训练过程中至关重要的一步。接下来的指南将帮助您熟悉Kohya训练器的界面和必要的设置选项,确保您的训练顺利进行。
1️⃣训练模型输出名称:为训练好的LoRA文件命名。这一步骤对于后续的测试和使用非常重要,确保您能够轻松识别和调用不同的训练结果。
2️⃣图片文件夹路径:需要指定一个包含训练图片的文件夹。这里存放的是您预处理后用于训练的图片,确保路径设置正确。
3️⃣LoRA文件输出路径:指定LoRA训练结果存放的位置。这个文件夹将用于保存训练过程中生成的LoRA文件,方便后续测试和使用。
4️⃣训练日志文件夹路径:设置一个文件夹用于存放训练过程中生成的日志文件。这对于监控训练进度和调试可能出现的问题非常有帮助。
填这些路径之前,首先得新建一个训练项目的文件夹。
1️⃣新建项目文件夹:首先,创建一个新的训练项目文件夹,例如命名为scarlett_johansson
。重要提示:为了避免潜在的问题,请确保文件名不包含中文字符或空格。
2️⃣创建必要的子文件夹:在项目文件夹内部,需要创建三个子文件夹,分别命名为image
、models
、和log
。这些文件夹分别用于存放训练数据集、输出的LoRA模型文件以及训练日志。
3️⃣添加数据集和打标文件:在image
文件夹下,进一步创建一个用于存放具体数据集和打标文件的子文件夹,如25_ScarlettJohansson
。这里的25
代表对每张图片进行的重复训练次数(Repeats),建议设置在10到30之间。文件夹名称的其余部分应反映训练的概念或主题,例如人物的姓名。
Ctrl+C
来复制所需的文件夹路径,随后粘贴到Kohya训练器的相应配置中。image
这一层级的路径,而不是直接到25_ScarlettJohansson
这样的具体概念文件夹。我们可以使用以下公式来确定重复次数:
例如,如果我们设置最大训练步数为4800,有32张图片,且Epoch设置为10,那么:
这意味着,每张图片在每个Epoch内将被重复训练15次。
然后我们回头把训练集的文件夹重命名一下。
每N个epochs保存:这个设置决定了多久保存一次训练好的LoRA文件。如果设置为1,则每完成一轮Epoch后保存一次。这样做的好处是可以提供多个训练阶段的模型,供后续选择使用。
Caption Extension:填写的是打标文件的文件名的后缀,也就是“.txt”,以避免在训练过程中出现“no caption file found”的错误。
精度选项:推荐设置为“fp16”,这有助于节约显存同时加速训练过程。
缓存潜变量:启用此选项可以将所有图片一次性缓存到显存中,从而提高训练速度。
在LoRA训练的深入阶段,理解和调整高级参数是提升训练效果的关键。这些参数的精细调整可以大大影响训练的效率和产出的质量。下面,我们将详细介绍如何根据不同需求选择和设置这些参数,以及提供两种高效的调参方案。
XFormers
,这可以显著降低显存占用并加速训练过程。学习率: 包含“文本编码器学习率”和“Unet学习率”,推荐使用Kohya官方文档的推荐设置。
优化器:AdamW8bit
,这是一个经过时间检验的优化器,以其稳定性著称。
学习率调度器:选择带重启的余弦函数
,这个调度器会让学习率在更多的点上达到峰值,随后平滑衰减,这样可以更充分地学习数据集。
学习率周期数:建议设置在3到5之间,以平衡学习的效率和避免过早陷入局部最优解。
DAdaptAdam
或Adafactor
。“DAdaptAdam”对显存是有要求的。最小要求6GB的显存。如果你显存不足的话,可以尝试“Adafactor”这个优化器。--optimizer_args "decouple=True" "weight_decay=0.01" "betas=0.9,0.999"
。如果优化器设为“Adafactor”,则在下方的额外参数添加--optimizer_args "relative_step=True" "scale_parameter=True" "warmup_init=True"
。成功配置参数并启动训练后,LoRA模型的训练进程正式开始。此时,有效监控和理解训练过程变得至关重要。下面是训练过程中的关键步骤和要点,帮助你确保训练顺利进行并有效地保存模型。
1️⃣启动训练:在Kohya训练器中设置好所有参数后,点击“开始训练”按钮以启动训练过程。
2️⃣检查训练状态:训练开始后,需要转到命令行窗口或终端查看训练的实时状态。这个终端窗口是启动Kohya训练器时打开的,不同操作系统或环境(如本地或服务器)的界面可能略有不同。
1️⃣显示参数:终端会显示出当前训练使用的所有参数设置,这可以帮助你确认是否所有配置都按预期进行。
2️⃣总训练步数:系统会基于你的设置计算并显示总的训练步数,这是衡量训练深度的一个重要指标。
3️⃣进度条与轮次:展示当前训练的进度和所处的轮次(Epoch)。如果设置了多轮训练,可以看到当前正在进行的是哪一轮。
4️⃣预估时间:训练旁边可能会有一个预估的完成时间,帮助你规划训练过程。
5️⃣Loss值:训练过程中最关注的数值之一是Loss值,它反映了模型输出与目标之间的差异。随着训练的进行,理想情况下Loss值应逐渐降低。
当看到命令行中出现“model saved”信息时,意味着LoRA模型已经成功保存。根据你的设置,“每N个Epochs保存”,你将在指定的文件夹中找到相应数量的LoRA模型文件。
训练完成后,进入之前设定的模型输出文件夹。在这里,你应该能看到所有生成的LoRA文件。如果设置的Epoch为10,则预期会有10个模型文件,每个文件代表训练过程中的一个保存点。
在完成LoRA模型的训练后,评估其训练效果成为了下一个重要的步骤。如何判断哪个LoRA模型的效果最佳呢?以下是一套实用的流程,帮助你通过直观的图像生成测试来评估每个模型的性能。
1️⃣重命名LoRA文件:为了便于管理和测试,建议将最后一个生成的LoRA文件重命名,比如将其命名为“第10号文件”,这样便于后续的对比分析。
2️⃣文件迁移:将所有LoRA文件拷贝到WebUI平台上常用的LoRA文件夹中。这一步骤确保了在进行图像生成测试时,所有训练好的模型都可以被轻松调用。
1️⃣设置提示词:在WebUI界面上,输入用于图像生成的提示词,并调整好基本的生成参数。这些参数包括但不限于图像的尺寸、生成质量等。
2️⃣选择LoRA文件:作为测试的一部分,先选中你刚刚训练并迁移的某个LoRA文件,比如“1号LoRA”。
3️⃣使用XYZ图表进行对比测试:
在最下方的脚本里选择XYZ图表。
4️⃣生成并比较图像:设置完成后,向上滚动页面并点击“生成”按钮。随后,系统将根据设置生成一个包含各个LoRA文件及其在不同权重下表现的图表。
通过本文,您应该对如何训练一个高质量的真人LoRA模型有了全面的了解,从准备数据集到参数设置,再到最终的测试。随着技术的不断进步,LoRA训练变得越来越简单,希望您能够利用这些知识创造出令人惊叹的人物图像。如果本文对您有所帮助,请不吝点赞和分享,感谢您的支持!
对于很多刚学习AI绘画的小伙伴而言,想要提升、学习新技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
如果你苦于没有一份Lora模型训练学习系统完整的学习资料,这份网易的《Stable Diffusion LoRA模型训练指南》电子书,尽管拿去好了。
包知识脉络 + 诸多细节。节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习。
这份完整版的资料我已经打包好,需要的点击下方添加,即可免费领取!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。