Diffusers documentation

FlowMatchHeunDiscreteScheduler

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

FlowMatchHeunDiscreteScheduler

FlowMatchHeunDiscreteScheduler は、EDM で導入された flow-matching サンプリングに基づいています。

FlowMatchHeunDiscreteScheduler

class diffusers.FlowMatchHeunDiscreteScheduler

< >

( num_train_timesteps: int = 1000shift: float = 1.0 )

パラメータ

  • num_train_timesteps (int、デフォルト値は 1000) — モデルを学習するための拡散ステップ数。
  • shift (float、デフォルト値: 1.0) — タイムステップスケジュールのシフト値です。

Heun スケジューラ。

このモデルは SchedulerMixin および ConfigMixin を継承しています。読み込みや保存など、ライブラリがすべてのスケジューラに対して実装している汎用的なメソッドについては、スーパークラスのドキュメントを参照してください。

index_for_timestep

< >

( timestep: typing.Union[float, torch.FloatTensor]schedule_timesteps: typing.Optional[torch.FloatTensor] = None ) → int

パラメータ

  • timestep (float または torch.FloatTensor) — スケジュール内で検索するタイムステップの値です。
  • schedule_timesteps (torch.FloatTensor、省略可) — 検索対象となるタイムステップスケジュールです。None の場合は、self.timesteps を使用します。

戻り値

int

スケジュールにおけるタイムステップのインデックス。

与えられたタイムステップのタイムステップスケジュールにおけるインデックスを特定します。

scale_noise

< >

( sample: FloatTensortimestep: typing.Union[float, torch.FloatTensor]noise: FloatTensor ) → torch.FloatTensor

パラメータ

  • sample (torch.FloatTensor) — 入力サンプルです。
  • timestep (float または torch.FloatTensor) — 拡散チェーンにおける現在のタイムステップです。
  • noise (torch.FloatTensor) — ノイズテンソルです。

戻り値

torch.FloatTensor

スケーリングされた入力サンプル。

フローマッチングにおけるフォワードプロセス

set_begin_index

< >

( begin_index: int = 0 )

パラメータ

  • begin_index (int、デフォルトは0) — スケジューラの開始インデックスです。

スケジューラの開始インデックスを設定します。この関数は、推論の前にパイプラインから実行する必要があります。

set_timesteps

< >

( num_inference_steps: intdevice: typing.Union[str, torch.device] = None )

パラメータ

  • num_inference_steps (int) — 事前学習済みモデルでサンプルを生成する際に使用する拡散ステップの数。
  • device (str または torch.device、省略可) — timesteps を移動先とするデバイスです。None の場合、timesteps は移動されません。

拡散チェーンで使用される離散タイムステップを設定します(推論の実行前に実行する必要があります)。

ステップ

< >

( model_output: FloatTensortimestep: typing.Union[float, torch.FloatTensor]sample: FloatTensors_churn: float = 0.0s_tmin: float = 0.0s_tmax: float = infs_noise: float = 1.0generator: typing.Optional[torch.Generator] = Nonereturn_dict: bool = True ) → FlowMatchHeunDiscreteSchedulerOutput or tuple

パラメータ

  • model_output (torch.FloatTensor) — 学習済み拡散モデルからの直接の出力です。
  • timestep (float または torch.FloatTensor) — 拡散チェーンにおける現在の離散タイムステップ。
  • sample (torch.FloatTensor) — 拡散プロセスによって生成されたサンプルの現在のインスタンスです。
  • s_churn (float) — サンプリング中に追加されるノイズの量を制御する確率性パラメータです。値を大きくするとランダム性が増します。
  • s_tmin (float) — 確率的性を適用するための最小タイムステップの閾値です。この値を超えるタイムステップにのみノイズが追加されます。
  • s_tmax (float) — 確率的性を適用するための最大タイムステップの閾値です。この値未満のタイムステップにのみノイズが追加されます。
  • s_noise (float、デフォルト値: 1.0) — サンプルに追加されるノイズのスケール係数。
  • generator (torch.Generator、任意) — 乱数生成器です。
  • return_dict (bool) — FlowMatchHeunDiscreteSchedulerOutput のタプルを返すかどうかを指定します。

戻り値

FlowMatchHeunDiscreteSchedulerOutput または tuple

True の場合、FlowMatchHeunDiscreteSchedulerOutput が返され、それ以外の場合は、最初の要素がサンプルテンソルであるタプルが返されます。

前のタイムステップのサンプルを、SDEを逆方向に適用することで予測します。この関数は、学習済みモデルの出力(多くの場合、予測されたノイズ)から拡散過程を伝播させます。

Update on GitHub