Diffusers documentation
ガイド
ガイド
Guider は 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)を表す文字列。 - save_pretrained() で保存された guider の設定を含む ディレクトリ(例:
./my_model_directory)へのパス
- 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, optional, デフォルトはFalse) — 欠落キー、予期しないキー、エラーメッセージを含む辞書を返すかどうかを指定します。 - local_files_only(
bool, 省略可、デフォルトはFalse) — ローカルのモデル重みと設定ファイルのみを読み込むかどうかを指定します。Trueに設定すると、モデルは Hub からダウンロードされません。 - token (
strまたは bool、省略可能) — リモートファイルの HTTP ベアラ認証に使用するトークンです。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: 条件の数
新着
< source >( **kwargs )
このguiderインスタンスのコピーを作成します。必要に応じて、設定パラメータを変更できます。
与えられたデータバッチに対して、guidance 手法用のモデルを準備します。このメソッドは、サブクラスでオーバーライドして、特定のモデル準備ロジックを実装する必要があります。
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
class 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)。初期のデノイジングステップで CFG を無効にするには > 0.0 を使用します。 - stop (
float, デフォルト値:1.0) — CFG が停止するまでのデノイジングステップの割合 (0.0-1.0)。後期のデノイジングステップで CFG を無効にするには、1.0 未満の値を使用します。 - enabled (
bool、デフォルトはTrue) — CFG を有効にするかどうか。Falseに設定すると、CFG が完全に無効になります(条件付き予測のみを使用します)。
拡散モデルに対して Classifier-Free Guidance (CFG) を実装します。
参考文献: https://huggingface.co/papers/2207.12598
CFGは、条件付きデータと無条件データの両方を用いてモデルを共同訓練し、推論時に予測を組み合わせることで、生成品質とプロンプトへの忠実度を向上させます。これにより、品質(高いガイダンス)と多様性(低いガイダンス)の間のトレードオフを調整できます。
2つの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) — classifier-free guidance のスケールパラメータです。値を大きくするとテキストプロンプトへの条件付けが強くなり、小さくすると生成時の自由度が高まります。値が大きすぎると、飽和や画像品質の低下を引き起こす可能性があります。 - 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) — classifier-free guidance のスケールパラメータです。値を大きくするとテキストプロンプトへの条件付けが強くなり、小さくすると生成時の自由度が高まります。値が大きすぎると、飽和や画像品質の低下を引き起こす可能性があります。 - skip_layer_guidance_scale (
float、デフォルト値は2.8) — skip layer guidance のスケールパラメータです。値を大きくすると、解剖学的および構造的一貫性が向上する場合がありますが、露出過多や飽和を引き起こす可能性もあります。 - skip_layer_guidance_start (
float、デフォルト値は0.01) — デノイジングステップの総数に対する割合で、skip layer guidance が開始されるタイミングを指定します。 - 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]、任意) — スキップレイヤーガイダンスの設定です。単一の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) — デノイジングステップの総数に対する割合で、この割合を超えた時点でガイダンスが停止します。
Skip Layer Guidance (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
クラス 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) — classifier-free guidance のスケールパラメータです。値を大きくするとテキストプロンプトへの条件付けが強くなり、小さくすると生成時の自由度が高まります。値が大きすぎると、飽和や画像品質の低下を引き起こす可能性があります。 - 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]、任意) — smoothed energy layer guidance の設定です。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) — デノイジングステップの総数に対する割合で、この割合を超えた時点でガイダンスが停止します。
Smoothed Energy Guidance (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) — classifier-free guidance のスケールパラメータです。値を大きくするとテキストプロンプトへの条件付けが強くなり、小さくすると生成時の自由度が高まります。値が大きすぎると、飽和や画像品質の低下を引き起こす可能性があります。 - perturbed_guidance_scale (
float、デフォルト値は2.8) — perturbed attention guidanceのスケールパラメータです。 - perturbed_guidance_start (
float、デフォルト値は0.01) — ノイズ除去ステップの総数に対する割合で、この割合を超えた時点でperturbed attention guidanceが開始されます。 - perturbed_guidance_stop (
float、デフォルト値は0.2) — ノイズ除去ステップの総数に対する割合で、この割合を超えた時点でperturbed attention guidanceが停止します。 - perturbed_guidance_layers (
intまたはlist[int]、任意) — perturbed attention guidance を適用するレイヤーのインデックスです。単一の整数または整数のリストを指定できます。 指定しない場合、perturbed_guidance_configを指定する必要があります。 - perturbed_guidance_config (
LayerSkipConfigまたはlist[LayerSkipConfig]、省略可) — perturbed attention guidance の設定です。単一の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) — デノイジングステップの総数に対する割合で、この割合を超えた時点でガイダンスが停止します。
Perturbed Attention Guidance (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) — classifier-free guidance のスケールパラメータです。値を大きくするとテキストプロンプトへの条件付けが強くなり、小さくすると生成時の自由度が高まります。値が大きすぎると、飽和や画像品質の低下を引き起こす可能性があります。 - 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) — classifier-free guidance のスケールパラメータです。値を大きくするとテキストプロンプトへの条件付けが強くなり、小さくすると生成時の自由度が高まります。値が大きすぎると、飽和や画像品質の低下を引き起こす可能性があります。 - auto_guidance_layers (
intまたはlist[int]、省略可) — skip layer guidance を適用するレイヤーのインデックスです。単一の整数または整数のリストを指定できます。指定しない場合、skip_layer_configを指定する必要があります。 - auto_guidance_config (
LayerSkipConfigまたはlist[LayerSkipConfig]、省略可) — スキップレイヤーガイダンスの設定です。単一のLayerSkipConfigまたはLayerSkipConfigのリストを指定できます。指定しない場合は、skip_layer_guidance_layersを指定する必要があります。 - dropout (
float, 任意) — 有効化されたスキップレイヤー(auto_guidance_layersまたはauto_guidance_configを使用する場合)における autoguidance の dropout 確率です。指定されない場合、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) — classifier-free guidance のスケールパラメータです。値を大きくするとテキストプロンプトへの条件付けが強くなり、小さくすると生成時の自由度が高まります。値が大きすぎると、飽和や画像品質の低下を引き起こす可能性があります。 - 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) — デノイジングステップの総数に対する割合で、この割合を超えた時点でガイダンスが停止します。
Tangential Classifier Free Guidance (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の場合、conditional pass のみ実行されます。
LTX-2.X用の単一モダリティ・グイダー。デルタ定式化により、最大3つのタームを組み合わせます:
- classifier-free guidance (CFG)、
- 空間時間ガイダンス(STG)、つまり、パーターブされたトランスフォーマーブロックのセットによる追加パス、
- modality-isolation guidance、A2V/V2Aクロスアテンションを無効にした追加パス。
1つのインスタンスが1つのモダリティを駆動するため、マルチモーダルのチェックポイントには複数のインスタンスが含まれます。LTX-2.Xでは、動画用のguiderとaudio_guiderがペアで構成され、それぞれが独自のスケールを保持しています。最終的なガイダンスの推定値は、呼び出し側が渡す空間で計算されます。LTX-2のデノイザーは、この関数を呼び出す前にvelocity->x0へ変換し、呼び出し後に元に戻すため、forwardはx0の予測値に対して動作します。
フックを用いて摂動を適用するSkipLayerGuidanceとは異なり、LTX2Guidanceでは、非 CFG 摂動がモデルの forward 引数(LTX2VideoTransformer3DModelにおけるspatio_temporal_guidance_blocksおよびisolate_modalities)を通じて設定可能であることが前提とされています。呼び出し元のデノイザーブロックが、パスごとの識別子としてそれらを設定する責任を負います。使用例についてはLTX2LoopDenoiserを参照してください。