前言:
上节课我们学习了文生图的基础过程,接下来我们玩个复杂的,把 refiner 模型串联进去。
那我们想一下,refiner 模型的工作过程是什么样的呢,应用 refiner 模型的时候我们比基础过程多了哪些操作呢?
是通过 base 模型绘制一部分后,然后应用 refiner 模型进行绘制。多了 refiner 模型加载器,多了 refiner 模型切换时机。
上期回顾:
一、创建过程
加载 refiner 模型:
我们先把上节课的过程打开,在空白地方(文生图下方就可以,不要太远)增加一个 Checkpoint 加载器,也可以用上节课,课后知识点中的方法复制粘贴一个,然后把模型改成 refiner 模型。
关键词输出:
①既然有了模型,那我们就需求去联接关键词了,毕竟 refiner 细化也需求关键词作为基础的,我们说过,作为输出是不能被多个联接的,也就是说我们不能让 refiner 去联接正、反关键词。我们如果再去增加一组 CLIP 文本编码器的话就需求每次出图时输出两次关键词了。有没有办法让我们只输出一次关键词就能被两个模型应用吗,当然有。
②我们先在原来的“ CLIP 文本编码器”上“右键——变换文本为输出”(意思就是我们把下面的文本输出框变换成了文本节点,把其他节点上输出的内容传到“ CLIP文本编码器”上。)
③我们“右键——新建节点——实用工具——Primitive元节点”作为输出关键词的节点。
④现在我们是不是并没看到可以在这个节点上输出文本的地方,别着急,我们把“CLIP 文本编码器上的文本”和“Primitive 元节点”联接,这时候我们就看到之前在“CLIP 文本编码器”上输出的内容出现在了“Primitive 元节点”上,并且还能修改。
⑤“Primitive 元节点”作为一个输出项,我们可以让他再去联接一组“CLIP 文本编码器”了。复制一下这两个“CLIP 文本编码器”去联接 refiner 模型。(为了好区分我给每个模块给了颜色及名字)
K 采样器(高级):
①我们补充一个关于采样器的知识点,上节课也看到了,我们在选择采样器的时候是有两个采样器的。“K 采样器”和“K 采样器(高级)”。既然我放在这节课讲,那肯定会用在 SDXL 过程中了,没错,是的。
②我们对比一下可以看到高级采样器多了“增加噪波、开始降噪步数、竣事降噪步数、前往噪波”,少了“降噪”。我挨个来讲一下都是什么意思,
a. 增加噪波:用来控制是否要生成随机种子,(和固定种子不一样,因为我们我们应用 refiner 模型细化是需求应用两次采样器的,我们不可能每一次出图都设置一个固定种子)。base 模型所联接的采样器,我们选择打开增加噪波(enable),refiner 模型联接的采样器我们就需求关掉了(disable);
b. 开始降噪步数/竣事降噪部署:我们从第几步开始降噪/第几步竣事降噪,作为 base 模型联接的采样器我们肯定从第 0 步就开始降噪啊。但是对于 refiner 模型联接的采样器来说,他的开始步数就要和 base 模型的竣事步数相对应(比如:总步数 60 步,base 模型的竣事步数是 50,那 refiner 模型的开始步数就是 50)。对于 refiner 模型来说,他的竣事步数就不用设置了,因为我们有总步数在控制竣事步数,让他默认就可以;
c. 前往噪波:就是把随机种子前往到下一个采样器,我们需求把 base 模型联接的采样器的前往噪波打开,refiner 模型联接采样器的前往噪波关闭;
d. 降噪:降噪这个功能是和开始降噪步数相同的,0.1 就是我们上方输出的总步数的 10%(总步数 60 为例,也就是只迭代 6 步),对应的是开始降噪步数的 54 这个数值。
③我们把他们联接起来,尺寸设置我们联接一次就好,至于 refiner 采样器的“Latent”就需求和 base 采样器所输出的“Latent”联接在一起了。
VAE 解码及保存图象:
①接下来我们就把 VAE 解码和保存图象联接起来,VAE 解码直接和 refiner 采样器联接就可以,至于联接的 VAE 模型,我们可以联接任何一个大模型的 VAE,也可以去通过“VAE 加载器”加载一个(我这里是用加载器另外加载了一个)。
②所有的都联接完了,我们跑一下看一看有没有报错。
③我们如果想看一下 base 模型联接的采样器出的图是什么样的话,我们直接在采样器 base 采样器后面再联接一个“VAE 解码”和“预览图象”就可以了。(这里用预览图象是因为出的图是带有躁点的,我们储存下来也没用,反而占用储存空间)
二、知识点扩展
①到这就完成了,但是我每次都要在两个采样器上输出总步数、开始降噪步数、竣事降噪步数是不是很麻烦,有没有办法让我们把这几个选项提取出来吗?
②我们可以看到在这 6 个数值中,2 个总步数是一样的,base 采样器的竣事降噪步数和 refiner 采样器的开始降噪步数是一样的,那我们就把这两组数值统一输出;
③分别在 base 采样器上右键点击“变换步数为输出、变换竣事降噪步数为输出”,在 refiner 采样器上右键点击“变换步数为输出、变换开始降噪步数为输出”;
④我们同样需求“右键——新建节点——实用工具——Primitive元节点”作为输出节点,创建两个,一个联接步数,一个联接竣事/开始降噪步数。
所有都联接好了,我们可以排列一下,调整一下名称颜色,方便我们后续应用(记得保存过程奥)