分享好友 最新动态首页 最新动态分类 切换频道
Stable Diffusion Lora模型训练详细教程
2024-12-26 15:07

通过Lora小模型可以控制很多特定场景的内容生成。

Stable Diffusion Lora模型训练详细教程

但是那些模型是别人训练好的,你肯定很好奇,我也想训练一个自己的专属模型(也叫炼丹~_)。

甚至可以训练一个专属家庭版的模型(family model,非常有意思。

2.1 训练环境搭建

  • WebUI或者Diffuser
    https://github.com/AUTOMATIC1111/stable-diffusion-webui

  • Lora训练环境
    https://github.com/kohya-ss/sd-scripts

2.2 数据准备

从网上爬取一些想要的角色图片,或者直接去截图。

这次我做的初春,找一些图片就行了,不需要很多,20张就可以,各个角度,全身,大头尽量都有些。

2.3 数据清洗打标

得到数据后,第一步就是清洗,所谓清洗主要是把爬的垃圾数据删了,并且该抠图的抠图(角色的Lora其实不扣也不太影响,真人是尽力抠图,功能性的lora基本上是要手动p图的)。

这里我给大家一个抠图脚本,用的阿里云API,非常方便

 

总之清晰后数据就是干净的,最好是扣过的图,只有人物主体。

然后我们就要打标了,如果是真人或者风格类lora,可以学youtube里那些人做法,直接用BLIP做image caption,然后手动修改一些。但是二次元强烈建议直接上deepbooru,这是因为二次元SD的base model源头是NovelAI泄露的,而当时的模型就是这个风格的标签,所以二次元特别适合用booru风格的描述。具体操作如下

 

然后就进行最重要的步骤,打标。

所谓打标就是监督学习,告诉SD我们要它学什么。这里我们就是想学一个角色,这个角色有很多特征,比如她头上有花花,短发,眼睛样子等。

因此我们要把这些角色特征的描述词,从txt文件中的描述中删除。

。。。。。。

然后我们再加入一个特定的角色名,用来表示这个角色。让这个角色名学到刚才我们删除的特征。

换句话说,如果我们不删除那些特征,模型是不会把这些特征学给这个角色名的,而是专门学给具体的描述词。比如如果我们留下来头上的花,那么头上有花这个概念就不会学给初春这个角色名。当我们生成图像时候,初春这个词是不会生成头上有花的女孩,但是初春必须头上有花!所以我们要干掉这个词,这样模型就认为初春头上必然有花。

其实就很简单,控制变量法,我们留下来的标签就是我们想让模型学习的。

但是编辑这玩意如果一个一个文件走会很烦,我这里有个简单的步骤

等到这些删除完了后,我们在每句描述前面都加上uiharu_kazari,这个是初春的触发词。一旦我们在prompts写上这个词,初春就会出现!我认为很重要,当然有人说可以不加,其实我训练几十个lora很多方案都试过,现在我感觉也是可加可不加的,但是我喜欢加上,里面原因很难直接说,就是加上后出图效果会好一些。但是不一定,有时候会变差,我说的这个方案其实是有些晋级的了,新人建议全都不删除tags,标签出来直接都拿去train,最简单稳定。

为什么放在第一位,实际上tags是有顺序的,一般最开始的tags的权重最大,越靠后越小,所以我们要把我们最想学的这个人放在第一位,像是没有意义的概念,比如透明背景我们尽量往后放。

此外我们需要看每张图的描述,有一些描述是含有明显错误的,因为毕竟是打标器,很多都是错的。我们一定要删除错误的标签,这些错误是会明显影响我们训练结果的(当然图多时候其实不影响了,但是话又说回来,图片质量>图片数量,风格、功能性Lora>真人>二次元,二次元是最简单的lora)。

2.4 训练

我们开始写一个训练脚本参数。

首先是Base Model概念,这个应该是最重要概念之一,就是我们是在什么模型基础上训练的。

比如我们训练真人,女性,社区目前首选Chilloutmix系列。如果是汽车之类的物体,首选可以是SD1.5 2.1等官方模型。如果是二次元,我们这次首选NovelAI系列的模型,我这里选的Acertain,因为它画风比较朴素,接近动漫效果,我感觉用来训练比较好。

我这次直接把脚本参数都列出来了

 

train_data_dir是我们放图片的目录,我们把刚才处理好的图片文件夹(里面有图片和文字对)放在这个目录下。

我的目录结构是这样的(其中2_images就是我们处理好的图片文件夹,为什么这么命名一会讲

 

所以我在上面的脚本里填写的目录为

 

训练的时候脚本自动在Kazari目录下找图片文件夹,它判定的是[NUM]_XXX命名的文件夹就是要输入给dataloader的图片文件夹。

我们一定要按照这个规则明明我们的文件夹,NUM表示我们一个epoch要遍历几遍这个目录,即repeats,而XXX就是我们默认的触发词。

而我们还会在脚本设置max_train_epoches这个参数,这个就表示我们要训练多少个epoch。

所以训练时候优化的次数Step就是num_images X repeats X max_train_epoches / batch_size

batch_size就是一次处理几张图片,也是我们在脚本里设置的,显卡有能力就别设置1。

更重要的参数就是学习率Lr了

$lr=“5e-5”

$unet_lr=“5e-5”

$text_encoder_lr=“6e-6”

这个我们可以先设置成这样,然后看loss函数下降了没,再进行调整。

训练图片分辨率resolution这个参数也是非常重要的,它是我们训练时候图片的分辨率,显卡有能力设置大一些比较好,建议不要低于512,会很差。

network_dim表示我们训练出来的Lora模型大小,一般不要大于128,因为没收益,小一些的dim可以抗过拟合。

clip_skip这个参数在二次元模型里就设置2或者3,但真人模型可以考虑设置1,但是需要测试效果,一般就2。这个参数其实是CLIP这个模型结构的原因,它其实是层级概念,比如上一层是“人”,那么下一层就是“男人”“女人”,逐渐细化。而二次元这个从NovelAI起源的模型,都沿用了2这个设定。我们也设置成2。

use_lion这个我设置成1,是因为我想启用Lion这个优化器,因为测试效果发现这个优化器泛化性好一些。

save_every_n_epochs这个我设置成1,就是每个epoch都保存模型,这样最后我有10个模型了。

2.5 检测结果

训练完的lora应该看下不同epoch的结果,排除欠拟合和过拟合的模型,用最合适的模型。

2.6 生成图片

关于AI绘画技术储备

学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助

👉[[CSDN大礼包《StableDiffusion安装包&AI绘画入门学习资料》免费分享]]安全链接,放心点击

对于0基础小白入门

如果你是零基础小白,想快速入门AI绘画是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:stable diffusion安装包、stable diffusion0基础入门全套PDF,视频学习教程。带你从零基础系统性的学好AI绘画

👉stable diffusion新手0基础入门PDF👈

👉AI绘画必备工具👈

👉AI绘画基础+速成+进阶使用教程👈

👉大厂AIGC实战案例👈

👉12000+AI关键词大合集👈

最新文章
ChatGPT & Kimi,选择什么?
这是我们的第122篇原创文章3月18日,AI创企月之暗面(Moonshot AI)宣布其智能助手Kimi在长上下文窗口技术上取得突破,无损上下文长度提升至200万字,目前已开启内测。一石激起千层浪,Kimi这一举动激活了整个国产大模型市场。3月22日晚上
2025年葫芦岛国家公务员考试成绩出来没有
  辽宁华图小编为您整理国家公务员考试文章:2025年葫芦岛国家公务员考试成绩出来没有  2025年辽宁国考笔试已结束,国考笔试成绩预计1月中上旬发布成绩及最低合格分数线考生可登录国家公务员局查询,查询网址:http://www.scs.gov.cn/
Android高工面试:APP画面卡顿的根本原因是什么?卡顿优化你是怎么做的
对Android的视图架构有整体把握。学会从根源处分析画面卡顿的原因。掌握如何编写一个流畅的App的技巧。从源码中学习Android的细想。收获两张自制图,帮助你理解Android的视图架构。 public class AnalyzeViewFrameworkActivity exten
79456濠江论坛最新版本更新内容,动态词语解释落实_3DM36.40.79
本文详细介绍了濠江论坛最新版本的更新内容以及动态词语的解释。修复了之前的bug增加了新的功能如在线支付和视频聊天。还添加了更多主题分类和搜索功能使得用户可以方便地找到所需的信息。文章语言流畅结构清晰逻辑性强并且包含了最新的濠
AI技术革新,智慧安防守护万家
AI技术正在深刻改变安防行业,为万千家庭带来更加智能、高效的安全防护体验一、AI技术在安防领域的应用发展二、AI驱动的智慧安防系统与传统安防的区别三、智能安防的关键技术:人脸识别与行为分析四、智慧安防助力家庭安全:从智能家居到智
ai在制造业的应用
伴随着工业自动化水平的不断提高,工业机器人在工业生产过程中的应用越来越广泛其中分拣作业是目前工业生产中的一个重要环节对工业机器人而言,其难点不在于按既定程序执行重复作业,而在于面对一种混乱的环境,需要对环境进行感知分析和判
2025年好一点的:揭阳华侨生联考冲刺班(成绩提升快不快)
2025年好一点的:揭阳华侨生联考冲刺班(成绩提升快不快)2025年,揭阳华侨生联考冲刺班备受瞩目,以其独特的教学方法和专业师资,助力考生快速提升成绩。短时间内,学员们普遍感受到学习效果的显著提高,为顺利通过联考增添了信心。  揭
AI系统开发:解析人工智能开发的流程与挑战
AI系统开发:解析人工智能开发的流程与挑战“在这个人人都在谈论人工智能的时代,你是否曾想过,真正的AI开发是怎样的?为什么一些项目能够成功,而另一些却止步不前?难道在这个炫目的科技背后,真的没有你想象中的那么简单吗?”对于许多
Azure Backup을 사용하여 Azure 가상 머신 백업
백업 및 복원 작업을 설정하려는 목적은 이를 통해 회사의 서버를 복구할 방법을 마련하려는 것입니다. 이 요구 사항을 염두에 두고 VM(가상 머신)에 대한 백업을 구현하기 위한 가장 좋은 방법을 조사하려고 합니다.Azure에서 호스트되는
ai自动生成文案的免费软件叫什么:智能文案自动生成器免费版
在数字化时代内容创作已成为企业营销和个人建设的必不可少手。手动撰写高优劣的文案不仅耗时耗力,而且对写作技巧有较高需求。运的是,随着人工智能技术的发展,自动生成文案的软件应运而生,为广大创作者提供了极大的便利。本文将向您介绍
相关文章
推荐文章
发表评论
0评