Files
CavinHuang-comfyui-nodes-docs/docs/KarrasScheduler.md
2024-05-15 08:09:49 +08:00

2.5 KiB

Documentation

KarrasScheduler节点旨在根据Karras等人(2022年)的方法生成噪声时间表。它在自定义采样过程中起着关键作用,提供一系列σ值,这些值决定了在采样迭代期间添加到数据中的噪声水平。该节点在控制扩散过程中起着关键作用,确保从噪声到清晰数据表示的平稳过渡。

Input types

Required

  • steps
    • ‘steps’参数定义了采样过程中的迭代次数。它至关重要,因为它直接影响噪声时间表的粒度,进而影响采样结果的质量。
    • Comfy dtype: INT
    • Python dtype: int
  • sigma_max
    • ‘sigma_max’参数指定了采样过程中噪声的最大标准差。它是形成初始噪声水平的关键决定因素,对于采样的整体保真度至关重要。
    • Comfy dtype: FLOAT
    • Python dtype: float
  • sigma_min
    • ‘sigma_min’参数设置了噪声的最小标准差,影响采样数据的最终清晰度。它在采样过程结束时对噪声时间表的微调中起着重要作用。
    • Comfy dtype: FLOAT
    • Python dtype: float
  • rho
    • ‘rho’参数控制了采样迭代过程中噪声标准差降低的速率。它是噪声减少计划安排中的一个关键因素,影响着采样算法的收敛。
    • Comfy dtype: FLOAT
    • Python dtype: float

Output types

  • SIGMAS
    • 输出'SIGMAS'是一系列σ值,代表了采样过程的噪声时间表。这个时间表对于算法逐步减少噪声,生成清晰的数据表示至关重要。
    • Comfy dtype: SIGMAS
    • Python dtype: torch.Tensor

Usage tips

  • Infra type: CPU

Source code

class KarrasScheduler:

    @classmethod
    def INPUT_TYPES(s):
        return {'required': {'steps': ('INT', {'default': 20, 'min': 1, 'max': 10000}), 'sigma_max': ('FLOAT', {'default': 14.614642, 'min': 0.0, 'max': 1000.0, 'step': 0.01, 'round': False}), 'sigma_min': ('FLOAT', {'default': 0.0291675, 'min': 0.0, 'max': 1000.0, 'step': 0.01, 'round': False}), 'rho': ('FLOAT', {'default': 7.0, 'min': 0.0, 'max': 100.0, 'step': 0.01, 'round': False})}}
    RETURN_TYPES = ('SIGMAS',)
    CATEGORY = 'sampling/custom_sampling/schedulers'
    FUNCTION = 'get_sigmas'

    def get_sigmas(self, steps, sigma_max, sigma_min, rho):
        sigmas = k_diffusion_sampling.get_sigmas_karras(n=steps, sigma_min=sigma_min, sigma_max=sigma_max, rho=rho)
        return (sigmas,)