新年第一篇。
我们在训练lora的时候,除了人物形象之外,还会将服装、动作、场景甚至是画风一起训练。这就会导致,如果你需要训练一个人物lora,但是比如训练集中有人物服装的时候,最终模型出的图中,那件服装出现概率也会很大。
而lora分层控制就可以避免原训练集对画面的干扰,提高图像质量。
这个功能需要使用到我们的LoRA Block Weight插件。
打开插件,可以看到一些配置好的权重预设。
下面对应的是lora分层的预设参数,一共是17层。
第一个数字是base层,数值为1.代表着权重开启,lora的权重才会生效。2-7层是输入层IN(共6层),8层是中间层MID(共1层),9-17层是输出层OUT(共9层)。
在权重设置中,我们可以看到很多已有的预设,调用其中的任何一个都可以对lora的效果产生不同的影响。
这里我用金克斯的lora来测试一下。
使用提示词:1girl,jinx_(league_of_legends),blue_hair,
接下来我增加红头发,机械铠甲,赛博朋克城市的提示词:red hair,mechanical armor,cyberpunk city。生成看一下,发现效果变化不大,因为在这个lora中,人物的发色和服装固定的太好了,不容易改变。
打开LoRA Block Weight,在
接下来,我们调整为使用
最后,我们调整为使用
可以看到,当我们呢开启不同通道时,对lora的效果就会产生不同的影响。
那么这些层到底代表什么含义呢?我们可以以这个图作为参考。根据这张图的含义,如果我们想要保留这张lora的哪种效果,我们就只需要启用相对应的层数就可以了。
可以看到9.10.11层是针对人物的面部和角色特征。那么接下来,我们也可以自己新建规则,比如CB:1.0.0.0.0.0.0.0.1.1.1.0.0.0.0.0.0.将第一个改为1.作用是开启该权重,另外在将第9.10.11层改为1.控制角色特征,其余部分设为0.表示不受lora影响。
将命名规则也加载进去。
加载lora时,启用我们新建的规则,
那这个功能到底有什么作用呢?我们再做一个测试,使用的一个二次元模型,绘制一个正常权重的金克斯。
接下来,我们加入一个Q版手绘风格的lora。
当两个lora的权重都为1的时候,可以看到金克斯的服装受到了手绘lora的影响,变成了中国风的感觉。
如果我们只想要画风变化,而服装特征不受影响应该怎么办呢?
我们可以将金克斯的lora开启9.10.11层的权重——
生成之后,我们就可以看到人物形象的特征就不受手绘lora的影响了。
这里再给大家分享一些常用的分层控制预设:
身体
BODY:1.1.1.1.1.1.1.1.0.0.0.1.1.1.1.1.1
BODY0.5:1.1.1.1.1.1.0.2.1.0.2.0.0.0.8.1.1.1.1.1
脸部(脸型、发型、眼型、瞳色等)
FACE:1.0.0.0.0.0.0.0.1.1.1.0.0.0.0.0.0
FACE0.5:1.0.0.0.0.0.0.0.0.8.1.1.0.2.0.0.0.0.0
FACE0.2:1.0.0.0.0.0.0.0.0.2.0.6.0.8.0.2.0.0.0.0.0
修手专用
HAND:1.0.1.1.0.2.0.0.0.0.0.0.0.0.0.0.0.0
服装(搭配tag使用)
CLOTHING:1.1.1.1.1.0.0.2.0.0.8.1.1.0.2.0.0.0.0.0
动作(搭配tag使用)
POSE:1.0.0.0.0.0.0.2.1.1.1.0.0.0.0.0.0.0
上色风格(搭配tag使用)
PALETTE:1.0.0.0.0.0.0.0.0.0.0.0.8.1.1.1.1.1
角色(去风格化)
KEEPCHAR:1.1.1.1.1.0.0.0.1.1.1.1.1.1.1.0.0
背景(去风格化)
KEEPBG:1.1.1.1.1.1.0.2.1.0.2.0.0.0.8.1.1.1.0.0
减弱过拟合(等同于OUTALL)
REDUCEFIT:1.0.0.0.0.0.0.0.1.1.1.1.1.1.1.1.1
以上,就是关于LoRA分层权重控制的使用方法。