Diffusers documentation

AutoencoderKLLTXVideo

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderKLLTXVideo

LTXで使用されているKL損失付き3次元変分オートエンコーダ(VAE)モデルは、Lightricksによって導入されました。

モデルは、以下のコードスニペットで読み込むことができます。

from diffusers import AutoencoderKLLTXVideo

vae = AutoencoderKLLTXVideo.from_pretrained("Lightricks/LTX-Video", subfolder="vae", dtype=torch.float32).to("cuda")  # or "mps", "xpu", "cpu"

AutoencoderKLLTXVideo

class diffusers.AutoencoderKLLTXVideo

< >

( in_channels: int = 3out_channels: int = 3latent_channels: int = 128block_out_channels: tuple = (128, 256, 512, 512)down_block_types: tuple = ('LTXVideoDownBlock3D', 'LTXVideoDownBlock3D', 'LTXVideoDownBlock3D', 'LTXVideoDownBlock3D')decoder_block_out_channels: tuple = (128, 256, 512, 512)layers_per_block: tuple = (4, 3, 3, 3, 4)decoder_layers_per_block: tuple = (4, 3, 3, 3, 4)spatio_temporal_scaling: tuple = (True, True, True, False)decoder_spatio_temporal_scaling: tuple = (True, True, True, False)decoder_inject_noise: tuple = (False, False, False, False, False)downsample_type: tuple = ('conv', 'conv', 'conv', 'conv')upsample_residual: tuple = (False, False, False, False)upsample_factor: tuple = (1, 1, 1, 1)timestep_conditioning: bool = Falsepatch_size: int = 4patch_size_t: int = 1resnet_norm_eps: float = 1e-06scaling_factor: float = 1.0encoder_causal: bool = Truedecoder_causal: bool = Falsespatial_compression_ratio: int = Nonetemporal_compression_ratio: int = None )

パラメータ

  • in_channels (int、デフォルトは3) — 入力チャネル数。
  • out_channels (int、デフォルトは 3) — 出力チャネル数。
  • latent_channels (int、デフォルトは 128) — 潜在チャネルの数。
  • block_out_channels (tuple[int, ...]、デフォルトは (128, 256, 512, 512)) — 各ブロックの出力チャネル数です。
  • spatio_temporal_scaling (tuple[bool, ...], defaults to (True, True, True, False)` — ブロックに空間・時間方向のダウンスケール処理を含めるかどうかを指定します。
  • layers_per_block (tuple[int, ...]、デフォルトは (4, 3, 3, 3, 4)) — ブロックあたりのレイヤー数です。
  • patch_size (int、デフォルトは4) — 空間パッチのサイズです。
  • patch_size_t (int、デフォルトは1) — 時間方向のパッチサイズです。
  • resnet_norm_eps (float、デフォルト値は1e-6) — ResNetの正規化レイヤーにおけるEpsilon値。
  • scaling_factor (float, 任意、デフォルトは 1.0) — 学習済み潜在空間の要素ごとの標準偏差です。これは、学習セットの最初のバッチを使用して計算されます。拡散モデルの学習時に、潜在空間を分散 1 にスケーリングするために使用されます。潜在変数は、拡散モデルに渡される前に z = z * scaling_factor という式でスケーリングされます。デコード時には、z = 1 / scaling_factor * z という式で元のスケールに戻されます。詳細については、High-Resolution Image Synthesis with Latent Diffusion Models 論文のセクション 4.3.2 と D.1 を参照してください。
  • encoder_causal (bool、デフォルトは True) — エンコーダーが因果的に動作するかどうか(未来のフレームが過去のフレームのみに依存する)を指定します。
  • decoder_causal (bool、デフォルトは False) — デコーダーが因果的に動作する(将来のフレームが過去のフレームにのみ依存する)かどうかを指定します。

KL損失を用いて画像を潜在変数にエンコードし、潜在表現を画像にデコードするためのVAEモデル。LTXで使用されます。

このモデルは ModelMixin を継承しています。すべてのモデルに実装されている汎用的なメソッド(ダウンロードや保存など)については、スーパークラスのドキュメントを参照してください。

decode

< >

( z: Tensortemb: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True ) → ~models.vae.DecoderOutput or tuple

パラメータ

  • z (torch.Tensor) — 潜在ベクトルの入力バッチ。
  • return_dict (bool、省略可、デフォルトはTrue) — ~models.vae.DecoderOutputを返すか、プレーンなタプルを返すかを指定します。

戻り値

~models.vae.DecoderOutput または tuple

return_dict が True の場合、~models.vae.DecoderOutput が返され、それ以外の場合は通常の tuple が返されます。

画像のバッチをデコードします。

encode

< >

( x: Tensorreturn_dict: bool = True )

パラメータ

  • x (torch.Tensor) — 画像の入力バッチ。
  • return_dict (bool、省略可、デフォルトはTrue) — ~models.autoencoder_kl.AutoencoderKLOutputを返すか、プレーンなタプルを返すかを指定します。

バッチの画像を潜在変数にエンコードします。

enable_tiling

< >

( tile_sample_min_height: int | None = Nonetile_sample_min_width: int | None = Nonetile_sample_min_num_frames: int | None = Nonetile_sample_stride_height: float | None = Nonetile_sample_stride_width: float | None = Nonetile_sample_stride_num_frames: float | None = None )

パラメータ

  • tile_sample_min_height (int, 任意) — サンプルを高さ方向にタイル分割するために必要な最小高さ。
  • tile_sample_min_width (int, 任意) — 幅方向にサンプルをタイルに分割するために必要な最小幅です。
  • tile_sample_stride_height (int, 省略可) — 縦方向の連続する2つのタイル間の最小重複量です。これにより、高さ方向にタイル化によるアーティファクトが発生しないことを保証します。
  • tile_sample_stride_width (int, 任意) — 連続する2つの水平タイル間のストライドです。これにより、幅方向にタイル化によるアーティファクトが発生しないことを保証します。

タイル化VAEデコーディングを有効にします。このオプションを有効にすると、VAEは入力テンソルをタイルに分割し、デコーディングとエンコーディングを複数ステップで計算します。これにより、大量のメモリを節約し、より大きな画像の処理を可能にします。

forward

< >

( sample: Tensortemb: typing.Optional[torch.Tensor] = Nonesample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → ~models.vae.DecoderOutput or tuple

パラメータ

  • sample (torch.Tensor) — 入力サンプル。
  • temb (torch.Tensor, 任意) — デコーダーを条件付けするために使用される、任意のタイムステップ埋め込みテンソル。
  • sample_posterior (bool、省略可能、デフォルトはFalse) — 後方分布からサンプリングするかどうか。
  • return_dict (bool、省略可、デフォルトは True) — DecoderOutput を返すか、プレーンなタプルを返すかを指定します。
  • generator (torch.Generator、省略可) — サンプリングを決定論的に行うためのtorch.Generator。

戻り値

~models.vae.DecoderOutput または tuple

return_dict が True の場合、~models.vae.DecoderOutput が返され、それ以外の場合は通常の tuple が返されます。

tiled_decode

< >

( z: Tensortemb: typing.Optional[torch.Tensor]return_dict: bool = True ) → ~models.vae.DecoderOutput or tuple

パラメータ

  • z (torch.Tensor) — 潜在ベクトルの入力バッチ。
  • return_dict (bool、省略可、デフォルトはTrue) — ~models.vae.DecoderOutputを返すか、プレーンなタプルを返すかを指定します。

戻り値

~models.vae.DecoderOutput または tuple

return_dict が True の場合、~models.vae.DecoderOutput が返され、それ以外の場合は通常の tuple が返されます。

タイル化されたデコーダーを使用して、画像のバッチをデコードします。

tiled_encode

< >

( x: Tensor ) → torch.Tensor

パラメータ

  • x (torch.Tensor) — 入力バッチの動画。

戻り値

torch.Tensor

エンコードされた動画の潜在表現。

タイル化されたエンコーダーを使用して、画像のバッチをエンコードします。

AutoencoderKLOutput

class diffusers.models.modeling_outputs.AutoencoderKLOutput

< >

( latent_dist: DiagonalGaussianDistribution )

パラメータ

  • latent_dist (DiagonalGaussianDistribution) — Encoder のエンコード出力を、DiagonalGaussianDistribution の平均と logvar として表したものです。 DiagonalGaussianDistribution を使用すると、この分布から潜在変数をサンプリングできます。

AutoencoderKLのエンコードメソッドの出力。

DecoderOutput

class diffusers.models.autoencoders.vae.DecoderOutput

< >

( sample: Tensorcommit_loss: typing.Optional[torch.FloatTensor] = None )

パラメータ

  • sample (torch.Tensor、形状 (batch_size, num_channels, height, width)) — モデルの最終層からのデコード済み出力サンプルです。

デコードメソッドの出力。

Update on GitHub