如何训练一个非常像的真人LoRA
在本篇文章中,我们将探索如何训练一个能够将喜爱的人物置入任何场景中并实现高度一致性的LoRA模型。借助LoRA,我们能够创造出极为逼真的人物图像,就如同我为斯嘉丽训练的LoRA模型所展示的那样。 那么,让我们一起深入了解如何训练LoRA。 如果你喜欢看视频教程,那么我非常欢迎你观看本文所对应的视频(B站同名帐号): Kohya训练器 在多种工具中,Kohya训练器因其全面的功能——不仅限于训练LoRA,也包括DreamBooth和Text Inversion——而广受欢迎。 国内也有一些开发者制作出了一些好用的训练器,比如赛博丹炉和秋叶丹炉。它们的原理和Kohya一样,设置好参数以后,最终都会转化为脚本进行训练。所以说,掌握了Kohya训练器以后,其他的训练器也不在话下。 安装Kohya相对简单,其详细的安装指南可在项目的Github主页(https://github.com/bmaltais/kohya_ss)找到。 此外,B站的知名UP主Nenly也提供了一份详细的安装攻略(https://gf66fxi6ji.feishu.cn/wiki/Q4EYwQl2riWw25kdN3hc5xuEnIe),非常值得参考。 LoRA训练流程 训练LoRA的流程包括以下几个关键步骤: 1️⃣ 准备数据集:选取适合训练的图片。 2️⃣ 图片预处理:进行裁剪和打标,为图片添加合适的标注或提示词。 3️⃣ 设置训练参数:在Kohya训练器中进行参数设置。 4️⃣ 开启训练:通过命令行查看训练进度。 5️⃣ 测试训练结果:挑选出效果最佳的LoRA文件进行测试。 LoRA训练的底层逻辑 为了解决可能出现的疑惑,本段落将深入解释LoRA训练的底层逻辑。通过深入了解这一过程,您将能更清晰地把握如何训练出一个高质量的LoRA模型。 LoRA训练概述 LoRA模型的训练目标是生成的图片与原训练图像高度相似。这是通过在Diffusion模型上添加额外权重来实现的,这些权重被保存在一个称作LoRA文件的单独文件中。可以将LoRA文件视为Diffusion模型的一种插件,这种插件会根据训练过程不断调整权重,以达到与原始训练图相似的效果。 训练过程详解 通过上述步骤,LoRA模型的训练涉及到精细的权重调整和优化,确保了生成图像与原始训练图之间的高度相似性。希望这一解析能帮助您更好地理解LoRA模型的训练机制。 正式开始LoRA训练:以斯嘉丽为例 在理解了LoRA训练的底层逻辑后,我们现在可以开始实际的训练过程了。本次我们将以众所周知的好莱坞明星斯嘉丽·约翰逊为例,展开训练。下面是详细的步骤和一些建议,希望能帮助你顺利完成LoRA模型的训练。 第一步:准备训练集 成功的LoRA训练起始于高质量的数据集。以下是一些建议,帮助你准备一个合格的训练集: 选择合适的图片作为训练集是至关重要的第一步。优质的数据集直接影响训练结果的质量。 第二步:图片预处理 裁剪 为了让AI更好地学习人物的脸部特征,建议以1比1的宽高比进行裁剪,主要聚焦于头部区域。稍微包含一些肩膀部分也是可以的。这样的裁剪策略有助于生成更加逼真的LoRA图像。这样可以让AI充分学习人物的脸部特征,生成的LoRA也更像。如果到时候我们训练出的LoRA生成的图片只有大头照也没关系,因为我们可以先生成其他人物的全身照,然后用LoRA生成的大头照进行换脸。 这几张斯嘉丽的图片我就是这样生成的。灵活度很高,想要什么风格就什么风格。 放大 鉴于许多在线图片的分辨率较低,裁剪后的图片分辨率可能进一步降低。因此,我们推荐将图片放大至至少512×512的分辨率。如果条件允许,可以考虑放大到768×768。图片放大不仅可以提升图片细节,还能丰富训练过程中的学习材料。 放大完以后,我们就可以进行最终裁剪啦。上篇文章(https://myaiforce.com.cn/text-inversion/)中,我给大家推荐了一个非常好用的在线裁剪工具,感兴趣的话可以回顾一下。 第三步:打标 通过遵循上述步骤,你将能够为LoRA训练准备好高质量的数据集,并进行有效的预处理。这样的准备工作是成功训练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之间。文件夹名称的其余部分应反映训练的概念或主题,例如人物的姓名。…