引导者
Guiders 是 Modular Diffusers 中的组件,用于控制生成过程中扩散过程的引导方式。它们实现了各种引导技术,以提升生成质量和可控性。
BaseGuidance
提供实现引导技术骨架的基类。
在给定批次的数据处理完成后,清理用于 guidance 技术的模型。子类应重写此方法以实现特定的模型清理逻辑。它适用于移除在 prepare_models 期间添加的任何钩子或其他有状态修改。
from_pretrained
< source >( pretrained_model_name_or_path: str | os.PathLike | None = Nonesubfolder: str | None = Nonereturn_unused_kwargs = False**kwargs )
参数
- pretrained_model_name_or_path (
str或os.PathLike, 可选) — 可以是以下之一:- 一个字符串,即托管在 Hub 上的预训练模型的 model id(例如
google/ddpm-celebahq-256)。 - 指向一个 目录(例如
./my_model_directory)的路径,该目录包含使用 save_pretrained() 保存的 guider 配置。
- 一个字符串,即托管在 Hub 上的预训练模型的 model id(例如
- subfolder (
str, 可选) — 模型文件在 Hub 或本地更大的模型仓库中的子文件夹位置。 - return_unused_kwargs (
bool,可选,默认为False) — 是否返回未被 Python 类使用的 kwargs。 - cache_dir (
str | os.PathLike, 可选) — 如果未使用标准缓存,则下载的预训练模型配置将被缓存到的目录路径。 - force_download (
bool,可选,默认为False) — 是否强制(重新)下载模型权重和配置文件,如果存在缓存版本则覆盖它们。 - proxies (
dict[str, str],可选) — 按协议或端点使用的代理服务器字典,例如{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}。每次请求都会使用这些代理。 - output_loading_info(
bool, 可选,默认为False) — 是否同时返回一个包含缺失键、意外键和错误消息的字典。 - local_files_only(
bool, 可选,默认为False) — 是否仅加载本地的模型权重和配置文件。如果设置为True,则不会从 Hub 下载模型。 - token (
str或 bool,可选) — 用于远程文件的 HTTP bearer 授权令牌。如果为True,则使用由diffusers-cli login生成的令牌(存储在~/.huggingface中)。 - revision (
str, 可选, 默认为"main") — 要使用的特定模型版本。它可以是分支名称、标签名称、提交 id,或 Git 允许的任何标识符。
从本地目录或 Hub 仓库中预定义的 JSON 配置文件实例化一个 guider。
> 若要使用私有或 受控模型,请先通过
hf > auth login登录。您还可以启用特殊的 > “离线模式”,以便在防火墙环境中使用此方法。
以字典形式返回引导技术的当前状态。状态变量将包含在 repr 方法中。返回值:dict[str, Any]:一个包含当前状态变量的字典,其中包括:
- step:当前推理步骤
- num_inference_steps: 推理总步数
- timestep: 当前时间步张量
- count_prepared: prepare_models 被调用的次数
- enabled: 是否启用引导
- num_conditions: 条件数量
创建此 guider 实例的副本,可选择修改配置参数。
为给定数据批次准备模型,以应用引导技术。子类应重写此方法,以实现特定的模型准备逻辑。
save_pretrained
< source >( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )
参数
- save_directory (
str或os.PathLike) — 用于保存配置 JSON 文件的目录(如果该目录不存在,则会自动创建)。 - push_to_hub (
bool,可选,默认为False) — 是否在保存模型后将其推送到 Hugging Face Hub。您可以使用repo_id指定要推送到的仓库(默认使用您命名空间中save_directory的名称)。 - kwargs (
dict[str, Any],可选) — 传递给 push_to_hub() 方法的额外关键字参数。
将 guider 配置对象保存到目录中,以便使用 from_pretrained() 类方法重新加载。
ClassifierFreeGuidance
类 diffusers.ClassifierFreeGuidance
< source >( guidance_scale: float = 7.5guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
参数
- guidance_scale (
float,默认为7.5) — 此 guider 在后处理阶段应用的 CFG 缩放值。值越高,提示词的条件约束越强,但可能会降低生成质量。典型取值范围:1.0-20.0。 - guidance_rescale (
float, defaults to0.0) — Rescaling factor to prevent overexposure from high guidance scales. Based on Common Diffusion Noise Schedules and Sample Steps are Flawed. Range: 0.0 (no rescaling) to 1.0 (full rescaling). - use_original_formulation (
bool,默认为False) — 如果为True,则使用论文中的原始 CFG 公式。如果为False(默认值),则使用 Imagen 论文中的 diffusers 原生公式。 - start (
float,默认为0.0) — CFG 开始生效的去噪步骤比例(0.0-1.0)。使用 > 0.0 可在早期去噪步骤中禁用 CFG。 - stop (
float,默认为1.0) — 去噪步骤的比例(0.0-1.0),在此之后 CFG 停止。使用 < 1.0 可在后期去噪步骤中禁用 CFG。 - enabled(
bool,默认为True)— 是否启用 CFG。设置为False可完全禁用 CFG(仅使用条件预测)。
为扩散模型实现无分类器引导(CFG)。
参考:https://huggingface.co/papers/2207.12598
CFG 通过在条件数据和无条件数据上联合训练模型,并在推理时结合两者的预测,从而提升生成质量和对提示词的遵循度。这使得我们可以在质量(高引导)和多样性(低引导)之间进行权衡。
两种 CFG 公式:
Moves conditional predictions further from unconditional ones. Moves unconditional predictions toward conditional ones, effectively suppressing negative features (e.g., "bad quality", "watermarks"). Equivalent in theory but more intuitive.使用 use_original_formulation=True 切换到原始公式。
ClassifierFreeZeroStarGuidance
class diffusers.ClassifierFreeZeroStarGuidance
< source >( guidance_scale: float = 7.5zero_init_steps: int = 1guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
参数
- guidance_scale (
float,默认为7.5) — 无分类器引导的缩放参数。较高的值会增强对文本提示的条件约束,而较低的值则允许生成过程拥有更大的自由度。过高的值可能导致饱和并降低图像质量。 - zero_init_steps (
int,默认为1) — 噪声预测被置零的推理步数(参见第 4.2 节)。 - guidance_rescale (
float, defaults to0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool,默认为False) — 是否使用论文中提出的 classifier-free guidance 的原始公式。默认情况下,我们使用 diffusers 原生实现,该实现已在代码库中存在较长时间。有关更多详细信息,请参阅 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]。 - start (
float,默认为0.01) — 在总去噪步数中,引导开始生效的比例。 - stop (
float,默认为0.2) — 在总去噪步数中,超过该比例后停止引导。
Classifier-free Zero(CFG-Zero):https://huggingface.co/papers/2503.18886
这是 Classifier-Free Zero* 引导技术的实现,它是 classifier-free guidance 的一种变体。该技术提出在扩散过程的前几步中对噪声预测进行零初始化,并引入了用于噪声预测的最优重缩放因子,有助于提升生成图像的质量。
该论文的作者在推理步骤的前 4% 中建议设置零初始化。
SkipLayerGuidance
class diffusers.SkipLayerGuidance
< source >( guidance_scale: float = 7.5skip_layer_guidance_scale: float = 2.8skip_layer_guidance_start: float = 0.01skip_layer_guidance_stop: float = 0.2skip_layer_guidance_layers: int | list[int] | None = Noneskip_layer_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
参数
- guidance_scale (
float,默认为7.5) — 无分类器引导的缩放参数。较高的值会增强对文本提示的条件约束,而较低的值则允许生成过程拥有更大的自由度。过高的值可能导致饱和并降低图像质量。 - skip_layer_guidance_scale (
float,默认为2.8) — skip layer guidance 的 scale 参数。较高的值可能会改善解剖结构和结构连贯性,但也可能导致过曝和饱和。 - skip_layer_guidance_start (
float,默认为0.01) — 跳层引导开始的时间点,表示总去噪步数中经过的比例。 - skip_layer_guidance_stop (
float,默认值为0.2) — 在总去噪步数中,经过该比例后停止 skip layer guidance 的阈值。 - skip_layer_guidance_layers (
int或list[int],可选) — 应用 skip layer guidance 的层索引。可以是单个整数或整数列表。如果未提供,则必须提供skip_layer_config。对于 Stable Diffusion 3.5 Medium,推荐值为[7, 8, 9]。 - skip_layer_config (
LayerSkipConfig或list[LayerSkipConfig],可选) — 用于 skip layer guidance 的配置。可以是单个LayerSkipConfig,也可以是LayerSkipConfig的列表。如果未提供,则必须提供skip_layer_guidance_layers。 - guidance_rescale (
float, defaults to0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool,默认为False) — 是否使用论文中提出的 classifier-free guidance 的原始公式。默认情况下,我们使用 diffusers 原生实现,该实现已在代码库中存在较长时间。有关更多详细信息,请参阅 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]。 - start (
float,默认为0.01) — 在总去噪步数中,引导开始生效的比例。 - stop (
float,默认为0.2) — 在总去噪步数中,超过该比例后停止引导。
跳过层引导(SLG):https://github.com/Stability-AI/sd3.5
时空引导(STG):https://huggingface.co/papers/2411.18664
SLG 由 StabilityAI 提出,用于提升生成图像的结构和解剖学一致性。其工作原理是:在去噪过程中,除了 CFG([~guiders.classifier_free_guidance.ClassifierFreeGuidance])中已使用的条件批次和无条件批次外,额外引入一个条件数据批次,并跳过其中指定 transformer 块的前向传播,然后根据“未跳过的条件预测”与“跳过的条件预测”之间的差异,对 CFG 预测进行缩放和平移。
SLG 背后的直觉可以理解为:将 CFG 预测的分布估计进一步推离条件分布估计的较差版本(因为跳过层相当于在条件预测中使用了一个较差版本的模型)。
STG 是一项改进和后续工作,它结合了 SLG、PAG 以及类似技术中用于提升视频扩散模型生成质量的思路。
延伸阅读:
skip_layer_guidance_scale、skip_layer_guidance_start 和 skip_layer_guidance_stop 的默认值采用 StabilityAI 针对 Stable Diffusion 3.5 Medium 给出的推荐值。
SmoothedEnergyGuidance
class diffusers.SmoothedEnergyGuidance
< source >( guidance_scale: float = 7.5seg_guidance_scale: float = 2.8seg_blur_sigma: float = 9999999.0seg_blur_threshold_inf: float = 9999.0seg_guidance_start: float = 0.0seg_guidance_stop: float = 1.0seg_guidance_layers: int | list[int] | None = Noneseg_guidance_config: SmoothedEnergyGuidanceConfig | list[SmoothedEnergyGuidanceConfig] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
参数
- guidance_scale (
float,默认为7.5) — 无分类器引导的缩放参数。较高的值会增强对文本提示的条件约束,而较低的值则允许生成过程拥有更大的自由度。过高的值可能导致饱和并降低图像质量。 - seg_guidance_scale (
float,默认为3.0) — 平滑能量引导的缩放参数。较高的值可能会改善解剖结构和结构的一致性,但也可能导致过曝和饱和。 - seg_blur_sigma (
float,默认值为9999999.0) — 用于模糊注意力权重的程度。将该值设置为大于 9999.0 会导致无限模糊,即查询变为均匀分布。经验上,以指数方式控制该值效果良好。 - seg_blur_threshold_inf (
float,默认值为9999.0) — 超过该阈值时,模糊被视为无限。 - seg_guidance_start (
float,默认为0.0) — 在总去噪步数中,平滑能量引导开始生效的比例。 - seg_guidance_stop (
float,默认值为1.0) — 在总去噪步数中,平滑能量引导停止所对应的比例。 - seg_guidance_layers (
int或list[int],可选) — 要应用平滑能量引导的层索引。可以是单个整数或整数列表。如果未提供,则必须提供seg_guidance_config。对于 Stable Diffusion 3.5 Medium,推荐值为[7, 8, 9]。 - seg_guidance_config (
SmoothedEnergyGuidanceConfig或list[SmoothedEnergyGuidanceConfig],可选) — 平滑能量层引导的配置。可以是单个SmoothedEnergyGuidanceConfig,也可以是SmoothedEnergyGuidanceConfig的列表。如果未提供,则必须提供seg_guidance_layers。 - guidance_rescale (
float, defaults to0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool,默认为False) — 是否使用论文中提出的 classifier-free guidance 的原始公式。默认情况下,我们使用 diffusers 原生实现,该实现已在代码库中存在较长时间。有关更多详细信息,请参阅 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]。 - start (
float,默认为0.01) — 在总去噪步数中,引导开始生效的比例。 - stop (
float,默认为0.2) — 在总去噪步数中,超过该比例后停止引导。
平滑能量引导(SEG):https://huggingface.co/papers/2408.00760
目前,SEG 仅作为实验性原型功能提供支持,因此其实现方式可能会在未来被修改,且不会提前通知,也不保证可复现性。此实现基于以下假设:
- 生成的图像为正方形(高度 == 宽度)
- 该模型不会将不同的模态组合在一起(例如,文本和图像的潜在流不会像 Flux 那样被组合在一起)
PerturbedAttentionGuidance
class diffusers.PerturbedAttentionGuidance
< source >( guidance_scale: float = 7.5perturbed_guidance_scale: float = 2.8perturbed_guidance_start: float = 0.01perturbed_guidance_stop: float = 0.2perturbed_guidance_layers: int | list[int] | None = Noneperturbed_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
参数
- guidance_scale (
float,默认为7.5) — 无分类器引导的缩放参数。较高的值会增强对文本提示的条件约束,而较低的值则允许生成过程拥有更大的自由度。过高的值可能导致饱和并降低图像质量。 - perturbed_guidance_scale(
float,默认为2.8)— 用于扰动注意力引导的缩放参数。 - perturbed_guidance_start (
float,默认为0.01) — 在总去噪步数中,扰动注意力引导开始生效的比例。 - perturbed_guidance_stop (
float,默认为0.2) — 在总去噪步数中,超过该比例后停止使用扰动注意力引导。 - perturbed_guidance_layers(
int或list[int],可选)— 应用扰动注意力引导的层索引。可以是单个整数或整数列表。 如果未提供,则必须提供perturbed_guidance_config。 - perturbed_guidance_config (
LayerSkipConfig或list[LayerSkipConfig],可选) — 用于扰动注意力引导的配置。可以是单个LayerSkipConfig或LayerSkipConfig列表。如果未提供,则必须提供perturbed_guidance_layers。 - guidance_rescale (
float, defaults to0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool,默认为False) — 是否使用论文中提出的 classifier-free guidance 的原始公式。默认情况下,我们使用 diffusers 原生实现,该实现已在代码库中存在较长时间。有关更多详细信息,请参阅 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]。 - start (
float,默认为0.01) — 在总去噪步数中,引导开始生效的比例。 - stop (
float,默认为0.2) — 在总去噪步数中,超过该比例后停止引导。
扰动注意力引导(PAG):https://huggingface.co/papers/2403.17377
PAG 背后的直觉可以理解为:将 CFG 预测的分布估计进一步推离条件分布估计的较差版本。PAG 是最早引入“利用训练模型的较差版本来更好地引导自身去噪过程”这一思想的技巧之一。它通过为特定选定的层将分数矩阵替换为单位矩阵,来扰动潜在流的注意力分数。
延伸阅读:
PAG 的实现与 SkipLayerGuidance 类似,因为两者在配置参数和实现细节上存在重叠。
AdaptiveProjectedGuidance
class diffusers.AdaptiveProjectedGuidance
< source >( guidance_scale: float = 7.5adaptive_projected_guidance_momentum: float | None = Noneadaptive_projected_guidance_rescale: float = 15.0adaptive_projected_guidance_norm_dim: int | tuple[int, ...] | None = Noneeta: float = 1.0guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
参数
- guidance_scale (
float,默认为7.5) — 无分类器引导的缩放参数。较高的值会增强对文本提示的条件约束,而较低的值则允许生成过程拥有更大的自由度。过高的值可能导致饱和并降低图像质量。 - adaptive_projected_guidance_momentum (
float,默认为None) — 自适应投影引导的动量参数。如果设置为None,则禁用该功能。 - adaptive_projected_guidance_rescale (
float,默认值为15.0) — 应用于噪声预测的重缩放因子。用于提升图像质量并修复 - adaptive_projected_guidance_norm_dim (
int或tuple[int],可选) — 用于计算 APG 范数和投影的维度。如果省略,则使用所有非批次维度,以保持原始行为。 - guidance_rescale (
float, defaults to0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool,默认为False) — 是否使用论文中提出的 classifier-free guidance 的原始公式。默认情况下,我们使用 diffusers 原生实现,该实现已在代码库中存在较长时间。有关更多详细信息,请参阅 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]。 - start (
float,默认为0.0) — 去噪总步数中,引导开始生效的比例。 - stop (
float,默认为1.0) — 在总去噪步数中,超过该比例后停止引导。
自适应投影引导(APG):https://huggingface.co/papers/2410.02416
AutoGuidance
class diffusers.AutoGuidance
< source >( guidance_scale: float = 7.5auto_guidance_layers: int | list[int] | None = Noneauto_guidance_config: LayerSkipConfig | list[LayerSkipConfig] | dict[str, Any] = Nonedropout: float | None = Noneguidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
参数
- guidance_scale (
float,默认为7.5) — 无分类器引导的缩放参数。较高的值会增强对文本提示的条件约束,而较低的值则允许生成过程拥有更大的自由度。过高的值可能导致饱和并降低图像质量。 - auto_guidance_layers (
int或list[int],可选) — 应用 skip layer guidance 的层索引。可以是单个整数或整数列表。如果未提供,则必须提供skip_layer_config。 - auto_guidance_config (
LayerSkipConfig或list[LayerSkipConfig],可选) — 用于 skip layer guidance 的配置。可以是单个LayerSkipConfig,也可以是LayerSkipConfig的列表。如果未提供,则必须提供skip_layer_guidance_layers。 - dropout (
float, 可选) — 在启用的跳过层上用于自动引导的 dropout 概率(通过auto_guidance_layers或auto_guidance_config指定)。如果未提供,dropout 概率将设置为 1.0。 - guidance_rescale (
float, defaults to0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool,默认为False) — 是否使用论文中提出的 classifier-free guidance 的原始公式。默认情况下,我们使用 diffusers 原生实现,该实现已在代码库中存在较长时间。有关更多详细信息,请参阅 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]。 - start (
float,默认为0.0) — 去噪总步数中,引导开始生效的比例。 - stop (
float,默认为1.0) — 在总去噪步数中,超过该比例后停止引导。
AutoGuidance:https://huggingface.co/papers/2406.02507
TangentialClassifierFreeGuidance
class diffusers.TangentialClassifierFreeGuidance
< source >( guidance_scale: float = 7.5guidance_rescale: float = 0.0use_original_formulation: bool = Falsestart: float = 0.0stop: float = 1.0enabled: bool = True )
参数
- guidance_scale (
float,默认为7.5) — 无分类器引导的缩放参数。较高的值会增强对文本提示的条件约束,而较低的值则允许生成过程拥有更大的自由度。过高的值可能导致饱和并降低图像质量。 - guidance_rescale (
float, defaults to0.0) — The rescale factor applied to the noise predictions. This is used to improve image quality and fix overexposure. Based on Section 3.4 from Common Diffusion Noise Schedules and Sample Steps are Flawed. - use_original_formulation (
bool,默认为False) — 是否使用论文中提出的 classifier-free guidance 的原始公式。默认情况下,我们使用 diffusers 原生实现,该实现已在代码库中存在较长时间。有关更多详细信息,请参阅 [~guiders.classifier_free_guidance.ClassifierFreeGuidance]。 - start (
float,默认为0.0) — 去噪总步数中,引导开始生效的比例。 - stop (
float,默认为1.0) — 在总去噪步数中,超过该比例后停止引导。
切向分类器自由引导(TCFG):https://huggingface.co/papers/2503.18137
LTX2Guidance
class diffusers.LTX2Guidance
< source >( guidance_scale: float = 1.0stg_scale: float = 0.0modality_scale: float = 1.0guidance_rescale: float = 0.0spatio_temporal_guidance_blocks: list[int] | None = Nonestart: float = 0.0stop: float = 1.0enabled: bool = True )
参数
- guidance_scale(
float,默认为1.0)— 该模态的 CFG 缩放系数。当值为1.0时,将完全跳过 CFG 处理。 - stg_scale (
float,默认为0.0) — 该模态的时空引导尺度。当值为0.0时,将完全跳过 STG 处理。 - modality_scale (
float,默认为1.0) — 该模态的模态隔离引导比例。当值为1.0时,将完全跳过该步骤。 - guidance_rescale (
float, defaults to0.0) — Rescaling factor to prevent overexposure from high guidance scales. Based on Common Diffusion Noise Schedules and Sample Steps are Flawed. Range: 0.0 (no rescaling) to 1.0 (full rescaling). - spatio_temporal_guidance_blocks (
list[int], 可选) — 在 STG 过程中需要扰动的 Transformer 块。该值的具体使用方式取决于去噪器块: LTX-2 在单次前向传播中扰动整个块,该前向传播为所有模态提供输入,因此它仅从视频引导器读取此值——在音频引导器上设置该值不会产生任何效果,而该音频引导器会通过其自身的stg_scale加入相同的 STG 前向传播。 - start (
float,默认为0.0) — 去噪步骤(0.0-1.0)中开始应用引导的比例。 - stop (
float,默认为1.0) — 去噪步骤的比例(0.0-1.0),在此之后停止引导。 - enabled(
bool,默认为True) — 是否启用该 guider 的引导功能。当设置为False时,仅执行条件路径。
LTX-2.X 的单模态引导器。通过 delta 公式组合最多三个术语:
- 无分类器引导(CFG),
- 时空引导(STG),即额外执行一次前向传播,其中一组 transformer 块受到扰动,
- 模态隔离引导,即额外执行一次禁用 A2V/V2A 交叉注意力的过程。
一个实例驱动一种模态,因此多模态检查点包含多个实例:LTX-2.X 将视频 guider 与 audio_guider 配对,每个实例各自持有其对应的 scales。最终的 guidance 估计值在调用方提供的空间中计算——LTX-2 去噪器在调用此函数前将 velocity->x0 进行转换,调用后再转换回来,因此 forward 基于 x0 预测进行操作。
与通过钩子(hooks)应用扰动的 SkipLayerGuidance 不同,LTX2Guidance 要求其非 CFG 扰动可通过模型的前向传播参数进行配置(即 LTX2VideoTransformer3DModel 中的 spatio_temporal_guidance_blocks 和 isolate_modalities)。调用去噪器块负责为每次前向传播设置这些标识符;使用示例请参见 LTX2LoopDenoiser。