Diffusers documentation

MotifVideoTransformer3DModel

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

MotifVideoTransformer3DModel

Motif Technologies Team による Motif-Video で、3D ビデオ類似データ向けの Diffusion Transformer モデルが紹介されました。

このモデルは、動画生成のために、12層のデュアルストリーム + 16層のシングルストリーム + 8層のDDTデコーダー層からなる3段階アーキテクチャと、回転位置埋め込み(RoPE)を使用しています。

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

from diffusers import MotifVideoTransformer3DModel

transformer = MotifVideoTransformer3DModel.from_pretrained("Motif-Technologies/Motif-Video-2B", subfolder="transformer", dtype=torch.bfloat16)

MotifVideoTransformer3DModel

クラス diffusers.MotifVideoTransformer3DModel

< >

( in_channels: int = 33out_channels: int = 16num_attention_heads: int = 24attention_head_dim: int = 128num_layers: int = 20num_single_layers: int = 40num_decoder_layers: int = 0mlp_ratio: float = 4.0patch_size: int = 2patch_size_t: int = 1qk_norm: str = 'rms_norm'norm_type: str = 'layer_norm'text_embed_dim: int = 4096image_embed_dim: int | None = Nonerope_theta: float = 256.0rope_axes_dim: typing.Tuple[int, ...] = (16, 56, 56)enable_text_cross_attention_dual: bool = Falseenable_text_cross_attention_single: bool = False )

パラメータ

  • in_channels (int, デフォルトは 33) — 入力におけるチャネル数です。
  • out_channels (int、デフォルトは16) — 出力のチャネル数です。
  • num_attention_heads (int、デフォルトは 24) — マルチヘッドアテンションで使用するヘッドの数です。
  • attention_head_dim (int、デフォルトは128) — 各ヘッドのチャネル数です。
  • num_layers (int、デフォルトは20) — 使用するdual-streamブロックの層数です。
  • num_single_layers (int, デフォルトは 40) — 使用する単一ストリームブロックの層数です。
  • num_decoder_layers (int、デフォルトは0) — 単一ストリームブロックにおけるデコーダー層の数。
  • mlp_ratio (float、デフォルト値は4.0) — フィードフォワードネットワークにおける隠れ層サイズと入力サイズの比率です。
  • patch_size (int、デフォルトは2) — パッチ埋め込み層で使用する空間パッチのサイズです。
  • patch_size_t (int、デフォルトは1) — パッチ埋め込み層で使用する時間方向のパッチのサイズです。
  • qk_norm (str、デフォルトは rms_norm) — アテンション層におけるクエリとキーの射影に使用する正規化手法です。
  • text_embed_dim (int、デフォルトは 4096) — テキストエンコーダーからのテキスト埋め込みの入力次元数。
  • image_embed_dim (int, 任意) — ビジョンエンコーダーからの画像埋め込みの入力次元です。指定すると、画像条件付けが有効になります。
  • rope_theta (float、デフォルト値は 256.0) — RoPE レイヤーで使用する theta の値です。
  • rope_axes_dim (Tuple[int]、デフォルトは (16, 56, 56)) — RoPE レイヤーで使用する軸の次元です。

Motif-Videoモデルで使用される、動画のようなデータ向けのTransformerモデル。

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_attention_mask: typing.Optional[torch.Tensor] = Noneimage_embeds: typing.Optional[torch.Tensor] = Noneattention_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = Nonereturn_dict: bool = True ) → Transformer2DModelOutput or tuple

パラメータ

  • hidden_states (torch.Tensor) — (batch_size, channels, num_frames, height, width) の形状を持つ入力潜在テンソル。
  • timestep (torch.LongTensor) — (batch_size,) の形状を持つ Diffusion のタイムステップ。
  • encoder_hidden_states (torch.Tensor) — (batch_size, sequence_length, embed_dim) の形状を持つテキストの条件付け。
  • encoder_attention_mask (torch.Tensor) — (batch_size, sequence_length) の形状を持つ、テキスト条件付け用のマスク。
  • image_embeds (torch.Tensor, 任意) — 形状が (batch_size, num_tokens, embed_dim) の、ビジョンエンコーダーからの画像埋め込み。
  • attention_kwargs (dict、任意) — attention プロセッサに渡す追加の引数。
  • return_dict (bool、デフォルトは True) — True の場合、Transformer2DModelOutput を返します。

戻り値

Transformer2DModelOutput または tuple

予測されたサンプル。

MotifVideoTransformer3DModelのフォワードパス。

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