当前位置:   article > 正文

ComfyUI-AnimateDiff-Evolved(4)_采样器设置相关参数_comfyui采样器说明

comfyui采样器说明

前边还有两篇内容哦,感兴趣可以从前边这三篇顺过来~

  • 本篇内容稍微有点点长,有4200字左右,可以先点个收藏哦,感谢~ ♥

节点git地址:https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved

  (小提示,最好不要用csdn转链接的地址,因为我看的时候更新貌似不如源地址更新快,会有些延迟,也可能是错觉?)

这次讲到了采样器相关的设置。

Sample Settings采样设置

采样设置节点允许对大多数 KSampler 节点上公开的采样过程进行自定义。使用其默认值,它不会产生任何影响,但同时也支持做各种自定义修改。

如果要使用 FreeNoise,你可以在Noise_typle菜单下选择FreeNoise就好了。

FreeNoise 不会以任何方式降低性能。

要使用 FreeInit,请将 FreeInit 迭代选项附加到 iteration_opts 输入。注意:FreeInit,尽管它的名字如此,它的工作原理是对 latent 迭代次数进行重新采样 - 这意味着如果您使用 iteration=2,总采样时间将恰好慢两倍,因为它将执行两次采样。

  • noise_layers :可定制、可堆叠的噪声用于添加/修改初始噪声。
  • iteration_opts:用于设定如何连续采样;如果你想使用FreeInit,也是在这里进行设置。
  • seed_override:接受单个 int 作为种子而不是传递到 KSampler 的种子,或接受一个 int 列表(如通过 FizzNodes 的 BatchedValueSchedule)来将单个种子分配给批次中的每个潜在变量(latent)。
  • batch_offset :批量噪声转移
  • noise_type :选择要生成噪声类型。值包括:
    • default:照常为所有潜在变量生成不同的噪声。
    • Constant:为所有潜在变量生成完全相同的噪声(基于种子)。
    • :不为所有潜伏生成噪音(就像噪音被关闭一样)。
    • Repeated_context:在每个 context_length (或 view_length)周期内重复生成带噪声的latent, 稳定性比较强,但会产生非常明显的重复感。
    • FreeNoise:重复噪声,使其在每个 context_length (或 view_length)重复,但上下文/视图之间的重叠噪声会被打乱,以使重复不那么普遍,同时仍然实现稳定性。
  • seeds_gen:允许在 ComfyUI 和 Auto1111 (webui)噪声生成方法之间进行选择。这两种方式,并没有说哪种比另外一种更好,它们只是不同的方法。
    • comfy:根据提供的种子立即为整个潜在批次张量生成噪声。
    • auto1111:为每个latent变量单独生成噪声,每个潜在变量接收递增的 +1 种子偏移量(第一个latent使用种子A,第二个潜在变量使用种子A+1,等等)。
  • seeds_offset:当未设置为 0 时,会向当前种子添加值,并可预测地更改它,而不需要管原始种子是什么。
  • adjustment_denoise_steps:当为 True 时,具有“降噪(denoise)”输入的 KSampler 将自动缩小总步骤,这种方法就像 Auto1111 中的默认选项的运行方式一样。
    • True:步数将随着降噪的降低而减少,例如,denoise设定为0.5 ,并且采样步数设定为20 个步骤,那么将总共执行 10 个步骤,但最终的结果类似0.5的降噪效果。这种方式本身是牺牲了质量但换取了速度。
    • False:默认行为; 0.5 降噪的 20 个步骤将执行 20 个步骤。

Iteration Options 迭代选项设置

这些设置选项允许 KSampler 重新采样相同的latents,而无需将多个 KSampler 链接在一起,并且还允许指定专门的迭代方式,比如说实现 FreeInit 等功能。

Default Iteration Options

只需重新运行 KSampler,将上一次迭代的输出插入下一次迭代即可。默认迭代次数=1 时,与根本不插入该节点没有什么不同。

  • iterations:KSampler 应该连续运行的总迭代次数。
  • iter_batch_offset:应用于每个后续迭代的批次偏移量。
  • iter_seed_offset:应用于每次后续迭代的种子偏移量。

FreeInit Iteration Options

实现FreeInit,其思想是: AnimateDiff 本身是基于视频画面生成的latents进行训练的,而不是基于完全随机的latents进行训练,视频画面天然就具有时间上的一致性,所以本身是有低频噪声(不变的部分)和高频噪声(变化的部分)的结合。通过freeinit,可以模拟这种时间上的连续性。

但同时,每次迭代都是一次完整的采样过程,如果设置为2次迭代,时间也将会是两倍长。

【这一段并不是很好理解,我把原文也贴在这里,大家可以对照着看:Implements FreeInit, which is the idea that AnimateDiff was trained on latents of existing videos (images with temporal coherence between them) that were then noised rather than from random initial noise, and that when noising existing latents, low-frequency data still remains in the noised latents. It combines the low-frequency noise from existing videos (or, as is the default behavior, the previous iteration) with the high-frequency noise in randomly generated noise to run the subsequent iterations. Each iteration is a full sample - 2 iterations means it will take twice as long to run as compared to having 1 iteration/no iteration_opts connected.

当 apply_to_1st_iter 为 False 时,噪声/低频/高频组合不会在第一次迭代中发生,因此至少需要 2 次迭代,FreeInit才能生效。

如果您有一组现成的latents可用于从中获取低频噪声,则可以将 apply_to_1st_iter 设置为 True,然后即使您设置 iterations=1,FreeInit 仍然会生效。

  • iterations:KSampler 应该连续运行的总次数。请参阅上面的解释,为什么默认情况下为 2(以及何时可以将其设置为 1)。

  • filter:滤波器,应用于噪声过滤的低频滤波器。是一个非常技术的概念,感兴趣的朋友请查看源代码/在线资源以弄清楚各个过滤器的工作原理。

  • d_s:过滤器的空间参数(原作者认为在latents内);如果您想知道它到底是做什么的,请查看代码/在线资源。

  • d_t:过滤器的时间参数(原作者认为是跨latents的);如果您想知道它到底是做什么的,请查看代码/在线资源。

  • n_butterworth:仅适用于butterworth过滤器;技术概念,如果您想知道它到底是做什么的,请查看代码/在线资源。

  • sigma_step:用于从噪声latents中获取低频噪声, 保持默认的999就好。

  •  apply_to_1st_iter:当设置为 True 时,即使在运行的第一次迭代中也会执行 FreeInit 低频/高频组合工作。请参阅上面 FreeInit 迭代选项部分中的说明,了解何时可以将其设置为 True。

  • init_type:应用 FreeInit 的代码实现。

    • FreeInit [sampler sigma]:可能最接近预期的实现,并从采样器而不是模型获取噪声的 sigma(如果可能)。
    • FreeInit [model sigma]:从模型中获取噪声的 sigma ;当使用 Custom KSampler 时,这是将用于两个 FreeInit 选项的方法。
    • DinkInit_v1:作者最初的、有缺陷的 FreeInit 实现。现在主要是为了向后兼容,但也可能产生有用的结果。
  • iter_batch_offset:应用于每个后续迭代的batch_offset。

  • iter_seed_offset:应用于每次后续迭代的seed_offset。默认为 1,以便每次迭代都使用新的随机噪声。

Noise Layers 噪声层

这些节点允许添加、加权或替换初始噪声。

与采样设置中的参数具有完全相同的效果 - 只是新选项位于 seed_gen_override 中,默认情况下将使用与采样设置相同的 Seed_gen(使用现有的)。您可以使噪声层随意使用不同的 seed_gen 策略,或使用不同的种子/种子集等。

该mask_optional数确定应在初始噪声上应用噪声层的位置。

接下来简单看下这个节点下的三个子节点:

 直接在最顶层增加噪声;

nose_weight:噪声权重,也就是将噪声添加在最顶层之前的乘数;

 添加噪声,但会在已有噪声和自身新添加噪声之间进行加权平均。

noise_weight :新噪声的权重。
balance_multipler :调整noise_weight对现有噪声的影响程度; 1.0 表示正常加权平均值,低于 1.0 会减少该量的加权减少量(即,如果balance_multiplier 设置为 0.5,noise_weight 为 0.25,则新添加的噪声实际上的影响为0.25x0.5=0.125)。

直接将其自身的噪声,替换来自下层的各种噪声。

到这里,关于这个节点的基础内容就算是告一段落了,如果感觉对你有帮助的话,还请帮忙点个赞哈,如果再点个关注就更棒啦~

聚梦小课堂的个人空间-聚梦小课堂个人主页-哔哩哔哩视频

                     

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/383351
推荐阅读
  

闽ICP备14008679号