超详细的 Stable Diffusion ComfyUI 基础教程(三):Refiner 细化流程
前言:
1.上节课我们学习了文生图的基础流程,接下来我们玩个复杂的,把
refiner 模型串联进去。
2.那我们想一下,refiner 模型的工作流程是什么样的呢,使用 refiner 模型的时候我们比基础流程多了哪些操作呢?
3.是通过 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元节点”作为输入节点,创建两个,一个连接步数,一个连接结束/开始降噪步数。
所有都连接好了,我们可以排列一下,调整一下名称颜色,方便我们后续使用(记得保存流程奥)
出自:https://zhuanlan.zhihu.com/p/659872120?utm_psn=1696224358920671232