Diffusers documentation

SkyReelsV2Transformer3DModel

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

SkyReelsV2Transformer3DModel

Skywork AI による SkyReels-V2 で、3D ビデオ類似データ向けの Diffusion Transformer モデルが紹介されました。

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

from diffusers import SkyReelsV2Transformer3DModel

transformer = SkyReelsV2Transformer3DModel.from_pretrained("Skywork/SkyReels-V2-DF-1.3B-540P-Diffusers", subfolder="transformer", dtype=torch.bfloat16)

SkyReelsV2Transformer3DModel

class diffusers.SkyReelsV2Transformer3DModel

< >

( patch_size: tuple = (1, 2, 2)num_attention_heads: int = 16attention_head_dim: int = 128in_channels: int = 16out_channels: int = 16text_dim: int = 4096freq_dim: int = 256ffn_dim: int = 8192num_layers: int = 32cross_attn_norm: bool = Trueqk_norm: str | None = 'rms_norm_across_heads'eps: float = 1e-06image_dim: int | None = Noneadded_kv_proj_dim: int | None = Nonerope_max_seq_len: int = 1024pos_embed_seq_len: int | None = Noneinject_sample_info: bool = Falsenum_frame_per_block: int = 1 )

パラメータ

  • patch_size (tuple[int]、デフォルトは (1, 2, 2)) — 動画埋め込み用の3Dパッチ次元 (t_patch, h_patch, w_patch)。
  • num_attention_heads (int、デフォルトは 16) — テキスト埋め込みの固定長です。
  • attention_head_dim (int、デフォルトは128) — 各ヘッドのチャネル数です。
  • in_channels (int, デフォルトは 16) — 入力におけるチャネル数。
  • out_channels (int、デフォルトは16) — 出力のチャネル数です。
  • text_dim (int、デフォルトは 4096) — テキスト埋め込みの入力次元数。
  • freq_dim (int、デフォルトは256) — 正弦波時間埋め込みの次元数。
  • ffn_dim (int、デフォルトは 8192) — フィードフォワードネットワークの中間次元数。
  • num_layers (int、デフォルトは32) — 使用するtransformerブロックの層数です。
  • window_size (tuple[int], デフォルトは (-1, -1)) — ローカルアテンションのウィンドウサイズです(-1 はグローバルアテンションを示します)。
  • cross_attn_norm (bool、デフォルトはTrue) — クロスアテンションの正規化を有効にします。
  • qk_norm (str、任意、デフォルトは "rms_norm_across_heads") — クエリ/キーの正規化を有効にします。
  • eps (float、デフォルト値は 1e-6) — 正規化レイヤー用のエプシロン値です。
  • inject_sample_info (bool、デフォルトは False) — モデルにサンプル情報を注入するかどうか。
  • image_dim (int、任意) — 画像埋め込みの次元数。
  • added_kv_proj_dim (int, 省略可) — 追加されるキー/バリュー投影の次元数。
  • rope_max_seq_len (int, デフォルトは 1024) — 回転埋め込みの最大シーケンス長です。
  • pos_embed_seq_len (int, 任意) — 位置埋め込みのシーケンス長です。

WanベースのSkyReels-V2モデルで使用される、動画のようなデータ向けのTransformerモデル。

forward

< >

( hidden_states: Tensortimestep: LongTensorencoder_hidden_states: Tensorencoder_hidden_states_image: typing.Optional[torch.Tensor] = Noneenable_diffusion_forcing: bool = Falsefps: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = Trueattention_kwargs: dict[str, typing.Any] | None = None )

パラメータ

  • hidden_states (torch.Tensor、形状 (batch_size, num_channels, num_frames, height, width)) — 入力となる hidden_states。
  • timestep (torch.LongTensor) — デノイジングステップを示すために使用されます。
  • encoder_hidden_states (torch.Tensor、形状 (batch_size, sequence_len, embed_dims)) — 使用する条件埋め込み(プロンプトなどの入力条件から計算される埋め込み)。
  • encoder_hidden_states_image (torch.Tensor, 任意) — 画像条件付き生成のための条件付き画像埋め込み。
  • enable_diffusion_forcing (bool、任意、デフォルトは False) — diffusion forcing(ブロックごとの因果マスク)を有効にするかどうか。
  • fps (torch.Tensor、省略可) — FPS 条件付け埋め込み。
  • return_dict (bool、任意、デフォルトは True) — プレーンなタプルではなく ~models.transformer_2d.Transformer2DModelOutput を返すかどうか。
  • attention_kwargs (dict, 省略可) — 指定された場合、diffusers.models.attention_processor で定義されている self.processor 内の AttentionProcessor に渡される kwargs 辞書です。

SkyReelsV2Transformer3DModelの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