Stable diffusion WebUI LoRA使用教学

在Stable Diffusion网络中,通常会下载社区中的LoRA模型,并对CLIP模型和Unet的CrossAttention的线性层进行微调。相应的被微调的层会有 'lora_up''lora_down' 两组参数,分别对应上述的 AB 矩阵。参考高手的代码,只需根据LoRA保存的层的名称找到Stable Diffusion对应的参数,然后对原始网络的参数进行更新即可。

初识LoRA

尽管每个checkpoint都是Stable Diffusion模型,但由于受到不同图片训练的影响,神经元权重各异,因此各有各的风格。然而这时会发现一些问题:

  • checkpoint文件非常大,大小不等,多为2 ~ 7 GB,如果需要多种风格,将占用大量硬盘空间
  • 每个checkpoint不能在运算图操作时直接叠加,需要通过Checkpoint Merger混合,生成新的checkpoint才能使用
  • 如果要微调模型训练新的风格,由于模型过大,需要大量硬件资源

在这里插入图片描述

LoRA核心解析

LoRA方法简单来说,就是通过注入方式,在大型语言模型中的每个transformer block前插入一层可训练层(rank-decomposition matrices)。在微调训练时固定模型所有神经元权重,仅训练注入的可训练层的权重,从而使训练参数量大幅降低。权重参数下降意味着文件大小也缩小,因此LoRA只有几百MB(通常是151 MB)。
在这里插入图片描述

LoRA风格滤镜的视角

如果以上解释过于学术,也可以简单地将LoRA视为风格滤镜。在Prompt中添加LoRA引用,就能大幅改变算图的结果,甚至能同时应用多个LoRA以获得混合风格。比起更换模型或进行checkpoint合并,使用LoRA更具灵活性和变化性。

在这里插入图片描述

LoRA下载和安装

直接在 Civitai 中选择LoRA选项进行网页过滤选择。

在这里插入图片描述
选择对应LoRA选项卡,进入下载。
在这里插入图片描述
将下载好的文件放到目录 \models\Lora下即可。
在这里插入图片描述
在SD页面点击对应位置就可以看到自己下载的LoRA模型啦。
在这里插入图片描述

如何使用 LoRA

希望使用的LoRA,WebUI会自动在提示符中加入LoRA的名称。熟悉名称可以直接输入。

·

LoRA 名称冒号旁边的数字,在实际应用中被称为权重。这是一个极为重要的概念。权重可以理解为套用的比例,直接影响LoRA的最终效果。具体来说,当这个数值越大时,LoRA的效果就越明显。反过来说如果这个数值偏小,LoRA的效果则会相对弱一些。
在这里插入图片描述

套用 LoRA 的效果

我们使用动漫插件模型,使用一个LoRA就是我们的强哥。
在这里插入图片描述
对于动漫小说视频如果想要固定角色的话这个技能是必不可少的。我们可以看到在批量生产图片的时候效果控制的还是很不错的。
在这里插入图片描述

同时也可以使用2个相同属性的LoRA,例如人物的进行面部融合使用。例如我们使用某岩和某田融合之后。

<lora:sexyBeauty_v05:0.7> <lora:sallyJingTian_sally:0.4>
在这里插入图片描述
<lora:sexyBeauty_v05:0.4> <lora:sallyJingTian_sally:0.7>
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_20288327/article/details/131289563