Diffusers documentation

LTXVideoTransformer3DModel

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

LTXVideoTransformer3DModel

LTX によって、3Dデータ向けの Diffusion Transformer モデルが紹介されました。

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

from diffusers import LTXVideoTransformer3DModel

transformer = LTXVideoTransformer3DModel.from_pretrained("Lightricks/LTX-Video", subfolder="transformer", dtype=torch.bfloat16).to("cuda")  # or "mps", "xpu", "cpu"

LTXVideoTransformer3DModel

クラス diffusers.LTXVideoTransformer3DModel

< >

( in_channels: int = 128out_channels: int = 128patch_size: int = 1patch_size_t: int = 1num_attention_heads: int = 32attention_head_dim: int = 64cross_attention_dim: int = 2048num_layers: int = 28activation_fn: str = 'gelu-approximate'qk_norm: str = 'rms_norm_across_heads'norm_elementwise_affine: bool = Falsenorm_eps: float = 1e-06caption_channels: int = 4096attention_bias: bool = Trueattention_out_bias: bool = True )

パラメータ

  • in_channels (int, デフォルトは 128) — 入力におけるチャネル数です。
  • out_channels (int、デフォルトは128) — 出力のチャネル数。
  • patch_size (int、デフォルトは1) — パッチ埋め込み層で使用する空間パッチのサイズです。
  • patch_size_t (int, デフォルトは 1) — パッチ埋め込み層で使用する時間パッチのサイズです。
  • num_attention_heads (int、デフォルトは 32) — マルチヘッドアテンションで使用するヘッドの数。
  • attention_head_dim (int, デフォルトは 64) — 各ヘッドのチャネル数です。
  • cross_attention_dim (int、デフォルトは 2048 ) — クロスアテンションヘッドのチャネル数です。
  • num_layers (int、デフォルトは28) — 使用する Transformer ブロックの層数です。
  • activation_fn (str、デフォルトは"gelu-approximate") — フィードフォワード層で使用する活性化関数。
  • qk_norm (str、デフォルトは "rms_norm_across_heads") — 使用する正規化レイヤー。

LTXで使用する、動画のようなデータ向けのTransformerモデル。

forward

< >

( hidden_states: Tensorencoder_hidden_states: Tensortimestep: LongTensorencoder_attention_mask: Tensornum_frames: int | None = Noneheight: int | None = Nonewidth: int | None = Nonerope_interpolation_scale: typing.Union[tuple[float, float, float], torch.Tensor, NoneType] = Nonevideo_coords: typing.Optional[torch.Tensor] = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → torch.Tensor

パラメータ

  • hidden_states (torch.Tensor、形状 (batch_size, sequence_length, in_channels)) — 入力となる hidden_states。
  • encoder_hidden_states (torch.Tensor、形状 (batch_size, sequence_len, embed_dims)) — 使用する条件埋め込み(プロンプトなどの入力条件から計算される埋め込み)。
  • timestep (torch.LongTensor) — デノイジングステップを示すために使用されます。
  • encoder_attention_mask (torch.Tensor) — アテンション時にencoder_hidden_statesに適用されるマスク。
  • num_frames (int, 任意) — 回転位置埋め込みを計算するために使用される動画のフレーム数。
  • height (int, 任意) — 回転位置埋め込みを計算するために使用される潜在変数の高さ。
  • width (int, 任意) — 回転位置埋め込みを計算するために使用される潜在変数の幅。
  • rope_interpolation_scale (tuple of float or torch.Tensor, 省略可) — 回転位置埋め込みで使用する補間スケールです。
  • video_coords (torch.Tensor, 任意) — 回転位置埋め込みで使用される、事前計算済みの動画座標。
  • attention_kwargs (dict, 省略可) — 指定された場合、diffusers.models.attention_processor で定義されている self.processor 内の AttentionProcessor に渡される kwargs 辞書です。
  • return_dict (bool、任意、デフォルトは True) — プレーンなタプルではなく ~models.transformer_2d.Transformer2DModelOutput を返すかどうか。

戻り値

torch.Tensor

(batch_size, sequence_length, out_channels) の形状を持つ、ノイズ除去後の出力テンソル。

LTXVideoTransformer3DModel の forward メソッドです。

Transformer2DModelOutput

クラス diffusers.models.modeling_outputs.Transformer2DModelOutput

< >

( sample: torch.Tensor )

パラメータ

  • sample (torch.Tensor、形状 (batch_size, num_channels, height, width)、または Transformer2DModel が離散型の場合 (batch size, num_vector_embeds - 1, num_latent_pixels)) — encoder_hidden_states 入力を条件とする隠れ状態の出力です。離散型の場合、ノイズ除去されていない潜在ピクセルの確率分布を返します。

Transformer2DModelの出力です。

Update on GitHub