Buckets:

mishig's picture
|
download
raw
6.81 kB

IPNDMScheduler

IPNDMScheduler は、4 階の Improved Pseudo Linear Multistep スケジューラです。元の実装は crowsonkb/v-diffusion-pytorch で確認できます。

IPNDMScheduler[[diffusers.IPNDMScheduler]]

diffusers.IPNDMScheduler[[diffusers.IPNDMScheduler]]

diffusers.IPNDMScheduler(num_train_timesteps: int = 1000, trained_betas: numpy.ndarray | list[float] | None = None)

ソース

パラメータ:

num_train_timesteps (int、デフォルトは 1000) : モデルを学習するための拡散ステップ数。

trained_betas (np.ndarray または List[float]、任意) : beta_start と beta_end をバイパスして、ベータの配列を直接コンストラクタに渡す場合に使用します。

4次の改良型擬似線形多段ステップスケジューラ。

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

index_for_timestep[[diffusers.IPNDMScheduler.index_for_timestep]]

index_for_timestep(timestep: typing.Union[float, torch.Tensor], schedule_timesteps: typing.Optional[torch.Tensor] = None)

ソース

パラメータ:

timestep (float または torch.Tensor) : スケジュール内で検索するタイムステップの値。

schedule_timesteps (torch.Tensor, 任意) : 検索対象のタイムステップスケジュール。None の場合は self.timesteps を使用します。

戻り値: int

スケジュールにおけるタイムステップのインデックスです。最初のステップでは、スケジュールの途中から開始する場合(画像から画像への生成など)にシグマをスキップすることを避けるため、複数の一致が存在する場合は2番目のインデックスを返します。

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

scale_model_input[[diffusers.IPNDMScheduler.scale_model_input]]

scale_model_input(sample: Tensor, *args, **kwargs)

ソース

パラメータ:

sample (torch.Tensor) : 入力サンプル。

戻り値: torch.Tensor

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

現在のタイムステップに応じて、デノイジングモデルの入力をスケーリングする必要があるスケジューラとの相互運用性を保証します。

set_begin_index[[diffusers.IPNDMScheduler.set_begin_index]]

set_begin_index(begin_index: int = 0)

ソース

パラメータ:

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

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

set_timesteps[[diffusers.IPNDMScheduler.set_timesteps]]

set_timesteps(num_inference_steps: int, device: typing.Union[str, torch.device, NoneType] = None)

ソース

パラメータ:

num_inference_steps (int) : 事前学習済みモデルでサンプルを生成する際に使用される拡散ステップの数。

device (str または torch.device、任意) : timesteps を移動先とするデバイスです。None の場合、timesteps は移動されません。

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

ステップ[[diffusers.IPNDMScheduler.step]]

step(model_output: Tensor, timestep: typing.Union[int, torch.Tensor], sample: Tensor, return_dict: bool = True)

ソース

パラメータ:

model_output (torch.Tensor) : 学習済み拡散モデルからの直接の出力です。

timestep (int または torch.Tensor) : 拡散チェーンにおける現在の離散タイムステップ。

sample (torch.Tensor) : 拡散プロセスによって生成されたサンプルの現在のインスタンス。

return_dict (bool) : SchedulerOutputを返すか、タプルを返すかを指定します。

戻り値: SchedulerOutput または tuple

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

前のタイムステップのサンプルをSDEを逆方向に適用することで予測します。この関数は、線形多ステップ法を用いてサンプルを伝播します。解を近似するために、フォワードパスを複数回実行します。

SchedulerOutput[[diffusers.schedulers.scheduling_utils.SchedulerOutput]]

diffusers.schedulers.scheduling_utils.SchedulerOutput[[diffusers.schedulers.scheduling_utils.SchedulerOutput]]

diffusers.schedulers.scheduling_utils.SchedulerOutput(prev_sample: Tensor)

ソース

パラメータ:

prev_sample (torch.Tensor、画像の場合は (batch_size, num_channels, height, width) の形状) : 前のタイムステップの計算済みサンプル (x_{t-1})。prev_sample は、デノイジングループの次のモデル入力として使用する必要があります。

スケジューラーのstep関数の出力の基底クラス。

Xet Storage Details

Size:
6.81 kB
·
Xet hash:
3cf011ac4744ad97ce186686e69d737c96352a248357b78f611322533a67945c

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.