当前位置:首页|资讯|AI绘画

[AI绘画]Embedding/Textual inversion模型训练记录

作者:白修白_BxB发布时间:2023-08-18

前言:

    本人所使用的是秋葉aaaki大佬23年7月左右的Webui整合包进行AI训练的,比较适合萌新。

    虽然秋叶大佬已经在视频里进行了比较详细的教学,但由于是比较早期的Webui,一些操作和布局不太一样,所以本篇记录一下自己的训练过程。


1、设置参数

  • 首先是启动后页面的webui中“设置”里的“反推设置”参数。

反推设置参数设置

        根据陈二哈是个技术宅大佬视频所说(https://www.bilibili.com/video/BV1N44y1X71h/?spm_id_from=pageDriver&vd_source=17cf6a5a912b0a39a628030a5814462c),反推设置里的“评分阈值”含义:数字越低则对训练图的细节保留越多,建议0.7

  • 其次是“设置”里的“训练”模块。

训练模块参数

        勾选红框后防止训练时候出现显存不够爆炸的情况。


2、图片处理

  • 首先打开“训练”模块,找到“图像预处理”,把所需要训练的图片源目录和目标目录填上。

  • 之后设置宽度高度,本人是3070显卡,8gb显存,所以图片保持512*512,少于8gb的需要调低,不然爆显存,具体多低请自己调试(有人1066 6gb显存的显卡调450*450,可以参考一下)

  • 选项勾选

       1、一般不勾选“保存原始尺寸”

       2、“创建水平翻转副本”在图片素材过少的时候勾选,“过少”本人理解是指只有几张或者十几张的时候。

       3、“分割过大的图像”一般不选,会把图像分割破坏,导致训练效果不理想。

       4、“自动面部焦点剪裁”字面意思,把图片调整到脸部周围进行裁剪。

            其中的参数“焦点面部权重”字面意思,越高裁剪部分向脸部越近,低了会出现截半张脸的情况。其他两项随便调整即可。简单来说,三项可以看作调整裁剪框的上下左右移动。想要知道效果如何需要自己调试几下。

       5、“自动按比例裁剪缩放”字面上是缩放,但是实际操作无法将所有的图片都处理,貌似有一个宽高范围,并且处理以后的图片大部分不全是512*512,不推荐使用。

       6、“使用BLIP生成标签(自然语言)”和“使用Deepbooru生成标签”可以随便用哪个,生成图片的对应文本标签描述,但是有人反映BLIP可能会错误。

        似乎总结下来,“自动面部焦点裁剪”必选,但是我自己目前也没玩清楚。

图像预处理部分


3、创建嵌入式模型

  • 输入模型名称,注意目录里(sd-webui-aki\embeddings)不能有相同名称的模型,即使勾选了“覆盖同名嵌入式模型文件”也没用,实测不会重新覆盖。

  • “每个词元的向量数”人物训练为6左右,画风为12左右,图片越多调越高。

  • “初始化文本”可不填,网上说是模型调用的时候会调用里面的初始化文本?

创建嵌入式模型


4、文生图部分tag设置

  • 正向tag

        训练的时候可以不填很复杂,一般我用“1girl, high quality,"Embedding模型名字”这里的"Embedding模型名字”指的是创建模型时填入的名称,目的是为了训练过程中的出图效果能监控到。

  • 反向tag

        我用的为“lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, extra fingers, fewer fingers, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry“。


5、训练模型

  • 准备阶段

        在训练之前我们需要将网页中“外挂VAE模型”选为“无”,不然的话会导致模型训练出鬼图。

训练前置准备阶段

        可以看到我们的SD模型与秋叶大佬网盘默认的模型不同,这是因为默认的模型训练会出鬼图,需要下载这个“final-pruned.ckpt"模型。没有的可以通过该链接下载。

链接:https://pan.baidu.com/s/170EwlO0IE140AFZQnwexRQ?pwd=m0bn 

提取码:m0bn 

  • 训练设置

训练设置

        1、刷新一下,刷新后才能在列表里看到创建的Embedding模型,选择模型。

        2、”嵌入式模型学习率“,建议默认即可,太大效果不好但速度快,太小容易过拟合但速度慢,可以在前期调大一点,后期小一点。

        3、把图片数据处理后的数据集目录路径复制进去。

        4、“提示词模板”画风选择style_filewords.txt人物选择subject_filewords.txt。

        5、“最大步数”默认10w,但是目前经过测试5000以下的效果最好,建议不超过1w。

        6、勾选保存模型的PNG图片和从文生图选项卡中读取参数。

        7、点击”训练嵌入式模型“


6、训练过程

        训练过程中可以通过观察训练结果来及时调整“学习率”,如果错过某个阶段的训练也可以在“sd-webui-aki\textual_inversion”中找到相应日期下的模型文件夹查看每个阶段的效果图、模型还有各阶段模型的loss值。


训练结果

表格值

        需要注意的是,loss值越低不代表效果越好,以此表为例,我的500效果图比7000好,具体哪个模型好还是需要看相应的图片效果。


7、模型转移

        最后,筛选结束以后,将你想要的阶段模型转移。从”sd-webui-aki\textual_inversion\“日期”\“模型名”\embeddings“中将模型复制到“sd-webui-aki\embeddings”。不需重启启动器即可使用。


8、模型使用测试

        打开“文生图”,将你想测试的阶段模型tag写进正向tag中或者点开模型列表,点击想选的模型。然后生成即可进行抽卡辣!

模型使用测试


9、个人感觉

        测试了几次之后感觉效果将就用,但是对于AI作画网站上的那种模型来说精美程度还是差的很多。我的训练图大部分是集中在脸上的,导致随机抽卡许多下身的tag权重过低,虽然可以调高想要的tag权重,但是适配程度很低,出图很怪,所以还是太吃训练图了。

        训练速度问题,本人3070速度为1-2it/s,一般是一个半小时左右一万步,期间显卡cuda满载,所以一般只能聊聊天百度查查东西,看视频都比较卡,大家可以参考一下。


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1